Manuel de Programmation des Automates Hitachi Série H H300 - H2002 H200 - H252 8 9 10 11 8 9 10 11 POW RUN ERR R.CL 8 9 10 11 8 9 10 11 8 9 10 11 8 9 10 11 POW RUN ERR R.CL 1 06 1 07 108 POW RUN ERR 109 11 0 111 R.CL 106 10 7 10 8 109 110 111 POW RUN ERR H(L)20 - H(L)64 R.CL ASCO JOUCOMATIC BENELUX Rue de Lusambo, 53 B 1190 BRUXELLES (: Fax. : 02-332.00.30 02-332.04.41 Edition originale suédoise : Manual Hitachi H series Actron AB 1994 Traduction française : ASCO JOUCOMATIC BENELUX Rue de Lusambo, 53 B 1190 BRUXELLES François Vin Comment lire ce manuel Manuel Hitachi Automates Série H Comment lire ce manuel MA N U AL s e ri e H Ce manuel est divisé en chapitres dont certains sont communs à tous les automates de la gamme Hitachi; ces chapitres sont les suivants : - Historique, antécédents. (page 3) Un court historisque ainsi qu’une brève description de Asco Joucomatic, de Hitachi et des automates sont repris ici. - Symboles, abréviations, etc. X002 TD15 TD15 Y102 (page 5) Ce chapitre reprend les principaux composants d’un PLC, les abréviations utilisées ainsi que le principe d’adressage des données internes (variables...) et externes (Entrées, Sorties..). 3.5 S - Programmation, la théorie (page 17) Ce chapitre décrit la base de la programmation LADDER puis, ensuite, la programmation des tempos, compteurs et contacts comparatifs. Les instructions arithmétiques sont présentées rapidement avec des renvois vers les pages adéquates pour informations plus complètes. Viennent ensuite la description des instructions communes à tous les modèles. Ce chapitre reprend également les notions de programmation en langage logique, langage employé lorsqu’on utilise les consoles Hitachi. - Programmation, la pratique (page 89) La manière de planifier votre projet, de choisir votre automate, sa configuration ainsi que sa programmation sont expliqués dans ce chapitre. Copyright Actron AB 1994 1 Comment lire ce manuel - Description du matériel (page 121) Ici sont reprises les informations techniques communes à tous les autom ates, les principes d’installation et les codes d’erreur.Les modes de fonctionnement des automates sont également décrits. INPUT 0 1 2 3 4 5 6 7 89 1 01 OW P UN R ER R 8 9101 INPUT 8 91 0 1 8 91011 0 1 2 3 4 5 6 7 8 91 01 PO W RU N ER R .CL R 8 9101 INPUT OUTPUT 10 010 11 021 3 1 0 410 0 5 10 61 071 81 0 9 11 0 011 8 9101 8 9 1 011 0 1 23 R. CL POW RUN ERR 4 5 67 8 91011 INPUT 61 0 1 710 0 81 09 101 R.CL OUTPUT 010 1 11 021 031 410 0 5 10 61 071 081 9 11 0 011 1 061 1 710 0 810 9 1011 0 12 3 - Informations particulières au H20-H64 45 6 7 8 91011 POW RUN ERR R.CL OUTPUT (page 133) 10 01 011 21 0 310 0 41 05 1 061 071 810 0 9 11 011 OUTPUT 001 1 011 210 0 310 41 05 1 061 710 0 810 9 101 Les informations propres à ce matériel sont présentées ici aussi bien au niveau technique qu’au niveau de la programmation et de l’adressage. - Informations particulières aux H200-H252 (page 151) Les informations propres à ce matériel sont présentées ici aussi bien au niveau technique qu’au niveau de la programmation et de l’adressage. - Informations particulières aux H300-H2002 203) (page Les informations propres à ce matériel sont présentées ici aussi bien au niveau technique qu’au niveau de la programmation et de l’adressage. FUN1 PID control . FUN15 ARC TAN function . - Instructions avancées pour H252, H302-H2002 (page 211) Les instructions avancées comme, par exemple, les instruction PID, les fonctions trigonométriques présentes dans les appareils les plus puissants de la gamme Hitachi sont ici documentées. - Appendice (page 217) Un rappel des définitions de base telles que la numérotation hexadécimale ou binaire, les tables de mémoires spéciales, les codes d’erreur sont reprises ici. Généralités : Des références à différents types de PLC sont souvent pratiquées comme, par exemple, « H302-H2002 » (qui concerne les CPU H302, H702 et H2002) ou « HB-H250 » (qui concerne les CPU H20, H28, H40, H64, H200 et H250); l’ordre de classement suivant est utilisé : H20, H28, H40, H64, H200, H250, H252, H300, H700, H2000, H302, H702, H2002. Les H20-H64 sont aussi appelés HB (pour « H Board type ») Convention : La zone ombrée dans le bas de la table signifie que cette partie est seulement valable pour certains CPU tandis que les explications dans la partie « blanche » du tableau concernent l’ensemble de la gamme et sont décrites à partir de la page PPP de la partie commune de ce manuel 2 d=S1 == S2 Comparaison égalité si S1 = S2 alors d=1 sinon d=0 d=S1 S == S2 comparaison égalité entre nombres signés si S1 = S2 alors d=1 sinon d=0 51 Sauf pour HB-H200 51 Copyright Actron AB 1994 Historique, antécédents Historique , antécédents : Court historique de Asco Joucomatic : Asco Joucomatic est spécialiste dans la fabrication et la vente de composants d’automatisation; nous proposons deux gammes de produits distinctes à nos clients : des composants pneumatiques utilisés pour l’automatisation des machines, et des vannes et électrovannes tous fluides utilisées, entre autres, dans l’industrie chimique. Nous proposons depuis 1980 des automates à nos clients, d’abord sous la marque Joucomatic puis, depuis 1986, directement sous la marque Hitachi. Aujourd’hui, les automates représentent une part importante de notre chiffre et sont appréciés pour leur simplicité de programmation et de mise en oeuvre. Court historique de Hitachi : Hitachi Ltd a vu le jour en 1910. Leur développement initial concernait les produits électromécaniques. Maintenant, Hitachi est le plus gros producteur de composants électroniques et électro-mécaniques. Ils font partie du pool des plus grandes sociétés mondiales, toutes catégories confondues. Aujourd’hui, Hitachi est connu pour un certain nombre de produits comme les circuits intégrés, mais aussi pour des produits aussi différents que des caméscopes ou des centrales nucléaires. Un aspect commun à tout ces produits est la recherche de la qualit é, recherche qui est le principal objectif de Hitachi depuis de longues années. La gamme des automates est un bon exemple de cette politique . Grâce à la capacité de Hitachi de développer ses propres circuits intégrés, ils ont su se maintenir à la pointe des avancées technologiques dans le domaine des automates. Court historique concernant les PLC : “PLC” signifie “Programmable Logic Controller” (API pour Automate Programmable Industriel en français). Les PLC ont, aujourd’hui, presque complètement remplacé les anciens systèmes de contrôle. Les relayages font partie de ce groupe. Ces derniers étaient câblés de façon à former une combinaison logique entre des entrées et des sorties. Lorsque les microprocesseurs ont été inventés, cette technique a rapidement été intégrée dans des appareils capables de remplacer les relayages. Ces appareils ont été créés de façon à ce que l’utilisateur retrouve une stru cture de programmation similaire à une combinaison de relais logiques tandis que la méthode de travail du programme semble faire fonctionner « simultanément » tous les circuits logiques programmés. Pour remplacer les relais dans des environnements difficiles, ces appareils ont été particulièrement protégés contre les perturbations électro-magnétiques , les vibrations, etc... Au début, ces automates ne se préoccupaient que de combinaisons logiques de contacts comme le font les relais, c’est pourquoi le mot « Logic » a été placé entre les mots « Programmable » et « Controler ». La technique des micro-processeurs évoluant, il a bientôt été possible d’intégrer dans ces PLC des instructions arithmétiques. Le mot « Logic », bien que n’étant plus exactement le reflet de la réalité, resta malgré tout dans le terme « PLC » pour éviter toute confusion avec le terme « PC » désignant les Personnal Computers. Les systèmes PLC sont contruits autour de modules standardisés. Ceux-ci sont fabriqués en de très grandes quantités. Ceci explique que, dans bien des cas, l’utilisation des automates reste économique même face des composants ou des solutions « spécialement adaptées ». De plus, les composants sont sévèrement testés lors de la fabrication et présentent un taux de panne extrêmement faible. Les pièces de rechange sont malgré tout disponibles dans la majorité des pays. La documentation est standardisée et donc compréhensible par beaucoup de monde. Copyright Actron AB 1994 3 Historique, antécédents 4 Copyright Actron AB 1994 Symboles, abréviations Symboles, abréviations, etc.. Copyright Actron AB 1994 5 Symboles, abréviations 6 Copyright Actron AB 1994 Symboles, abréviations Symboles, abréviations, etc. Représentation symbolique d’un PLC série H Entrées, Sorties, mémoires etc. ENTREES SORTIES PROGRAMME X002 Y102 Mémoires M et WM X013 R034 Y102 M002 Mémoires WR Mémoires R mot d’entrée de 16 bits mot de sortie de 16 bits exemple : entrée analogique exemple : sortie analogique. Zone mémoire mixte Mots/ Bits Mémoires L et WL Zone mémoire Mot uniquement Mémoires DIF Mémoires DFN Mém. Fronts montants Mém. Fronts descendants Zone mémoire Bit uniquement Mémoires MCS et MCR Zone mémoires Réseaux mixte Mots et Bits Mémoires TC Mémoires Relais Maître (enclenchement et déclenchement) Mémoires Bit pour tempo et compteur Valeurs courantes des Tempos et Compteurs Copyright Actron AB 1994 7 Symboles, abréviations Abréviations : b bit Entrée/Sortie ou mémoire ("1" ou "0") X Entrée (les entrées peuvent être traitées comme des mots WX) Y W Sortie (les sorties peuvent être traitées comme des mots WY) D Double Mot (32 bits consécutifs). sauf pour HB-H200 M Mémoire bit qui se trouve dans la zone mixte Mots / Bits Mot (16 bits consécutifs) *1 *2 (les mémoires M et mots WM se trouvent dans la même zone ) R Mémoire bit se trouvant dans une zone exclusivement bit WR Mémoire mot se rouvant dans une zone exclusivement mot L Mémoire réseaux qui est partagée entre deux PLC ou plus; cette mémoire se trouve dans une zone mixte Mots / Bits (les mémoires L et mots WL se trouvent dans la même zone mémoire) TC Valeurs courantes de Temporisateurs et Compteurs. TD,CU etc Différents types de Temporisateurs et Compteurs *1 un mot de 16 bits peut recevoir une valeur décimale entre 0 et 65.535 (Hexa 0-FFFF) *2 un mot de 32 bits peut recevoir une valeur décimale entre 0 et 4.294.967.295 (Hexa 0-FFFFFFFF) Symboles de programmation : (pour plus d’information, voir le chapitre traitant de la programmation, pages 17 et suivantes) Type Fonction entrée (contact) Entrée Fonction sortie (bobine) Note impossible Entrée qui est physiquement connectée au PLC (ex. : une cellule photoélectrique) Sortie Sortie qui est physiquement connectée au PLC (ex.: contacteur) Variable interne Variable pouvant prendre l’état ”On/Off” ou "1/0". Variable interne spéciale Variable ayant une fonction spéciale (ex. : horloge 1 sec.) (certaine) Tempo sortie tempo activation tempo Compteur sortie cpt Comparaison Boite Arithmetique activation cpt impossible impossible Boite intégrant une comparaison entre deux valeurs, le résultat déterminant si le contact est passant ou non Boite intégrant des calculs ou toute fonction ne pouvant se traduire par un shéma à contact Autres définitions (comme hexadécimal, binaire etc.) voir appendice page 217. 8 Copyright Actron AB 1994 Symboles, abréviations Addressage : Entrées et Sorties : Type d’adresse Entrée externe Sortie externe Entrée externe déportée Sortie externe déportée HB-H200 H250--H2002 Bit X 0U S b b X = entrée U=Unité n°. 0-2 Mot Double mot Bit WX0 U S W DX0 U S W Y = sortie S=Slot n°. b b=bit nr. 0-7 0-15 H250/2: 0-2 H300: 0 H700 : 0-1 H2000: 0-5 0-A (hexadécimal) 0-95 (décimal) Y0U S b b W = Mot (16 bits) W=Mot N°. 0-7 0-9 Mot Double mot Bit W Y 0U S W DY0USW WX = Mot entrée WY = Mot sortie R=Station Cde E/S déportée N° 1-4 1-4 Mot W X R St S W Double Mot Bit D X R St S W St=Sous-station locale n° 0-7 0-9 Mot Double mot W Y R St S W D Y R St S W b b=bit n° W=Mot n° 0-15 0-1 0-95 0-9 X R St S b b D = Double Mot (32 bits) (uniquement pour H250-H2002) Y R St S b b Vue générale de l’adressage des Entrées / Sorties : U S Unité n° 0 0 1 2 etc. U S Unité n° 1 0 1 2 etc. U S Unité n° 2 0 1 2 etc. etc. CPU R Station Cde n° 1 St Station locale n° 0 S slot 0 1 2 etc. R Station Cde n°2 St Station locale n° 0 S 0 1 2 etc. etc. bb bit n° W word n° R Station Cde n°1 St Station locale n° 1 S 0 1 2 etc. etc. Copyright Actron AB 1994 etc. 9 Symboles, abréviations Exemple: L’adressage d’un PLC HB avec extension est décrite ci-dessous. Les entrées sur l’unité de base correspondent au slot 0 (X0 - X39) et les sorties au slot 1 (Y100 -Y123). L’unité d’extension correspond à l’Unité n° 1. Les entrées sur cette extension occupent le slot 0 de l’unité 1 et recoivent les adresses X1000X1039. Les sorties occupent le slot 1 de l’unité n°1 et recoivent donc les adresses Y1100-Y1123. X0- correspond au slot n° 0 X1000- correspond au slot n° 0 de l’unité 1 Y100- correspond au slot n° 1 Y1100- correspond au slot n° 1 de l’unité 1 X0- correspond au slot n° 0 X300- ou Y300- X400- ou Y400correspond au correspond au slot n° 4 slot n° 3 Quand une extension est utilisée, ces slots sont numérotés 3, 4, ... (le slot n° 2 est réservé, sur l’unité de base, pour l’utilisation du réseau sur les PLC appelés HL20HL64) Y100- correspond to slot no. 1 Exemple: L’exemple suivant concerne un PLC de la série H200. Les deux derniers chiffres de l’adresse désignent le numéro de l’E/S sur la carte. Le troisième chiffre donne le N° de slot et le quatrième, le numéro d’unité (0 pour l’unité de base, 1 pour la première extension...). Pour les mots d’E/S (ex.: entrée analogique), le mot est désigné par le dernier chiffre, le deuxième concerne le slot...etc. Entrée Unité n° Slot n° Entrée n° 10 Sortie Unité n° Slot n° Sortie n° Copyright Actron AB 1994 Symboles, abréviations Variables/Mémoires internes : Adresses variables internes HB/H200 H250-H252, H300-H2000 variables Bit M 0-FFF 0-3FFF mixtes Mots Mot WM 0-FF 0-3FF et Bits Double-mot DM - 0-3FE variables Bit R 0-7BF 0-7BF séparées Mots et Mot WR 0-3FF 0-3FF (1024 ) RA M -04H, RAM-08H Bits Hexa-décimal 0-43FF (17408 ) RAM-16H, ROM-16H 0-C3FF (50176 ) RAM-48H, ROM-48H Double-mot DR - 0-3FE (512 ) RAM-04H, RAM-08H 0-43FE (8704 ) RAM-16H, ROM-16H 0-C3FE (25088 ) RAM-48H, ROM-48H variables Bit R 7C0-7FF 7C0-7FF (64 ) spéciales Mot WR F000-F1FF F000-F1FF (512 ) Variables réseau : Bit/ Mot variable réseau (partagée par autres CPUs) variables mixtes Bits/Mots zone réseau n° 1 zone réseau n° 2 Bit Mot Double mot Bit Mot Double mot Adresses variables réseau HB/H200 H250-H2002 L WL DL L WL DL 0-7F 0-7 10000-1007F 1000-1007 - 0-3FFF (16384) 0-3FF (1024) 0-3FE (512) 0-13FFF (16384) 0-13FF (1024) 0-3FE (512) Hexadécimal Zone mémoire réseau mixte Zone mémoire réseau où le CPU va lire les infos venant des autres PLC Bit (L) ou Mot (WL) Zone mémoire réseau où le CPU va écrire les infos destinées aux autres PLCs CPUs connectés en réseau CPU 0 CPU 1 CPU 2 CPU 3 Les adresses de début et de fin de zone d’écriture d’un PLC sont définies durant la programmation par le biais du menu <Setup PLC>; voyez à ce sujet la page 95. Reportez vous également aux sections particulières à chaques appareils : pages 133 pour les HB, 151 pour les H200-252, 203 pour les H300-2002. Mémoires détection de Front : Copyright Actron AB 1994 11 Symboles, abréviations Mémoires Front Front Montant DIF Front Descendant DFN Adresses Mémoires HB/H200 H250-H2002 Page 0-127 25 0-511 Adressage 0-127 0-511 25 décimal Temporisateurs et Compteurs : Mot ou bit Adresses mémoire HB H250/H200 H2002 Page Tempo travail Bit TD 0-255 0-255 29 Tempo repos Tempo simple impulsion Bit SS 0-255 0-255 30 30 Tempo monostable Bit MS - 0-255 30 Tempo intégrateur Bit TMR - 0-255 31 Tempo chien de garde Bit WTD - 0-255 31 Compteur + Bit CU 0-511 0-511 32 Compteur/décompteur (+) Bit CTU 0-511 0-511 33 Compteur/décompteur (-) Bit CTD 0-511 0-511 33 Compteur/décompteur (sortie) Compteur répétitif Bit CT 0-511 0-511 33 Bit RCU - 0-511 34 RAZ des compteurs, TMR et WDT Bit CL 0-511 0-511 32 Valeur courante des tempos et compteurs Mot TC 0-511 0-511 35 12 Les N° de tempo vont de 0 à 255 Les N° de compteur vont de 0 à 511 L’adresse des T/C est donnée en décimal Copyright Actron AB 1994 Symboles, abréviations Relais Maître : HB/H200 H250-H2002 Page Relais Début MCS 0-49 0-49 23 Adressage Maître Fin MCR 0-49 0-49 23 décimal Valeurs constantes : Valeurs constantes Décimal Hexadécimal Bit Mot/Bit HB/H200 H250-H2002 Mot Mot Bit 0-65,535 H0-HFFFF 0, 1 0-4,294,967,295 H0-HFFFFFFFF 0, 1 Zones mémoire sauvegardées par batterie (variables sauvegardées) : Lorsqu’un automate est démarré ou lorsqu’il redémarre après une chute de tension, toutes les variables internes sont remises à zéro si elles ne sont pas définies comme étant des « variables sauvegardées ». Durant la programmation, vous pouvez spécifier pour chaque type de variable R-, WR-, WM-, TD-, DIF- ou DFNla zone que vous souhaitez sauvegarder. Ces zones garderont alors leur contenu quand le PLC est démarré. Elles sont définies par le biais du menu « Setup PLC » dans le programme ActSip ou ActGraf ; vous trouverez une courte description de ces programmes aux pages 93 pour le ActSip et 108 pour le ActGraf. Copyright Actron AB 1994 13 Symboles, abréviations Variables spéciales : Variables « mot » spéciales : Voici la liste des principales variables spéciales; vous en trouverez une liste plus complète en page 220. WRF00B Année, Horloge Temps Réel WRF00C Mois, Horloge Temps Réel WRF00D Valide pour HB, H200-H252, H302-H2002 (sauf H300,H700,H2000) Jour de la semaine, Horloge Temps Réel WRF00E Heure, Minute, Horloge Temps Réel WRF00F Seconde, Horloge Temps Réel WRF010 Max. WRF011 Time WRF012 Min. WRF013 CPU Durée temps de cycle le plus long Durée temps de cycle Durée temps de cycle le plus court Status du CPU WRF015 Code d’erreur de calcul WRF016 Reste Reste d’une opération de calcul sur 16/32 bits WRF017 Reste Reste d’une opération de calcul sur 32 bits WRF01B Année, réglage Horloge Temps Réel WRF01C Mois, réglage Horloge Temps Réel WRF01D Valide pour HB, H200-H252, H302-H2002 (sauf H300, H700, H2000) Jour semaine, réglage Horloge WRF01E Heure, Minute, réglage Horloge WRF01F Secondes, réglage Horloge Temps Réel 14 Pour activer le réglage, utilisez la variable R7F9 (voir page suivante) Voyer aussi les exemples de programmes joints Copyright Actron AB 1994 Symboles, abréviations Variables « bit » spéciales : Voici la liste des principales variables spéciales; vous en trouverez une liste plus complète en page 220. R7C0 R7C1 R7C2 Action si le temps maximum admissible est Normal scan dépassé lors d’une Action si le temps maximum admissible est Periodic scan dépassé lors d’une dépassée lors d’une scrutation interruption "1" "0" "1" "0" "1" "0" →Stoppe le CPU si le temps est dépassé → Ne stoppe pas si le temps est dépassé →Stoppe le CPU si le temps est dépassé → Ne stoppe pas si le temps est dépassé →Stoppe le CPU si le temps est dépassé → Ne stoppe pas si le temps est dépassé Erreur grave sur le CPU !! R7CA R7D1 scrutation périodique Action si le temps maximum admissible est Interrupt scan R7C8 scrutation normale Erreur mémoire Vérification durée scrutation Normal scan normale "1" si la durée est supérieure au temps admissible stipulé par le menu « Setup PLC » R7D2 R7D3 R7D9 périodique. Periodic scan Vérification durée scrutation Interrupt scan Vérification durée scrutation d’ interruption - "1" si la durée est supérieure au temps admissible stipulé par le menu « Setup PLC » "1" si la durée est supérieure au temps admissible stipulé par le menu « Setup PLC » Défaut batterie + R7DA Défaut Alimentation R7E3 ON durant la 1ère scrutation du programme Uniquement pour H300-H2002 après START R7E4 Toujours ON =1 R7E5 Horloge fréquence 0.02 sec R7E6 Horloge fréquence 0.1 sec R7E7 Horloge fréquence 1.0 sec R7E8 CPU occupé Le CPU est occupé (ex.: lors de la communication avec un autre équipement) R7E9 Bloque mise en RUN "1" empèche la mise en RUN R7F0 Carry Utilisé lors d’instructions arithmétiques Dépassement Utilisé lors d’instructions arithmétiques Décallage de donnée Utilisé lors d’instructions de décallage "1" = Erreur de calcul lors d’instructions arithmé- Des informations plus détaillées sont disponibles dans la variable WRF015 0.01 s ON et 0.01 s OFF "0" permet la mise en RUN R7F1 C Oflw C R7F2 0 R7F3 tiques R7F4 "1" = Erreur de donnée (DER) Une adrese non valide a été découverte lors d’une instruction arithmétique. Ordonne le transfert de l’horloge vers les Quand R7F8 passe à ON, le contenu des zones Horloge Temps Réel est régistres de réglage. transféré vers WRF01B-WRF01F. Ordonne le transfert des régistres de réglage Quand R7F9 passe à ON, le contenu de WRF01B-WRF01F est transféré vers vers l’horloge les zones Horloge Temps Réel. R7FA Ajustage de l’Horloge Temps Réel à 30 sec. Quand R7F1 passe à ON, l’horloge est ajustée aux 30 sec. supérieures. R7FB Erreur durant le réglage de l’Horloge Temps Réel. 100110101 100011101 R7F8 R7F9 Copyright Actron AB 1994 15 Programmation, la théorie Programmation, la théorie Copyright Actron AB 1994 17 Programmation, la théorie 18 CopyrightActron AB 1994 Programmation, la théorie Programmation, la théorie : Les bases de la programmation Ladder : R 034 Y102 X002 X013 R 034 Y102 Y102 X002 M0 02 X0 02 R0 34 La série H est construite de façon à interprèter au mieux les symboles électriques. C’est pourquoi, la manière la plus naturelle de programmer est de dessiner le schéma à contact au moyen du software ActSip-H (ou de la console graphique Hitachi). L’autre principale alternative est l’utilisation du grafcet par le biais du soft ActGraph. Celui-ci génère automatiquement un schéma à contact compréhensible par le PLC. Il est également possible de coder les équations logiques en instructions mnémoniques. Mais, puisque la mémorisation du programme se fait sous forme ladder, le travail en instruction impose certaines limitations comme dans d’autres PLC utilisant ce mode de mémorisation. C’est pourquoi la programmation Ladder ou Grafcet est préférable. Lorsque vous programmerez en ladder, il vous suffira de dessiner les contacts ouverts et fermés puis de les connecter par des lignes. Symboles: Bloc Le terme "bloc" concerne un ensemble de contacts, un circuit, représentant une unité complète et se terminant par une ou plusieurs fonctions de sortie ou blocs arithmétiques. Un programme consiste en une suite de tels blocs. Vous pouvez considérer que ces blocs vont être exécutés les uns après les autres, à quelques exceptions près. Voici deux exemples de ces blocs : Bloc 1 Bloc 2 Contact fermé (NF) Contact ouvert (NO) Copyright Actron AB 1994 Sortie (bobine) 19 Programmation, la théorie Branche Un bloc se compose d’une ou plusieurs branches : Branche 1 Branche 2 Branche 3 Branche 4 Connection série: Connection parallèle: Les contacts ou branches connectés en série sont assimilés à une fonction « ET » comme ci-dessous. Les contacts et branches connectés en parallèle sont assimilés à une fonction « OU » comme ci-dessous. ET OU Voyez l’Appendice pour obtenir des informations complémentaires sur les boites logiques et l’algèbre de Boole. 20 CopyrightActron AB 1994 Programmation, la théorie Symboles contact Contact NO, passant quand le contact est ON (état « 1 ») X,Y,R,L.M TD,SS,CU Contact NF, passant quand le contact est OFF (état « 0 ») WTD,MS,TMR,RCU (pour H250-H2002) Sortie (bobine) Y,R,L,M TD,SS,CU,CT CTU,CTD,CL WDT,MS,TMR,RCU (pour H250-H2002) Exemple: (Les contacts en gras symbolisent le "flux logique" ON) X002 X013 Y102 R034 Y102 M002 Contact Etat logique avant Etat variable Fonction (NO/NF) Etat logique après Sortie Etat NO Etat : (ON/ OFF) ON X002 ON ON X013 R034 Y102 M002 ON ON ON OFF ON ON ON OFF ON Y102 OFF NO NF NO NO ON OFF ON OFF ON OFF ON OFF Exemple: (Les contacts en gras symbolisent le ”flux logique” ON) X002 X013 R034 Y102 Y102 M002 Contact Etat logique avant Etat variable Fonction (NO/NF) X002 ON ON X013 R034 Y102 M002 ON ON ON ON OFF OFF ON OFF Copyright Actron AB 1994 Etat logique après Sortie Etat NO Etat: (ON/ OFF) ON ON Y102 ON NO NF NO NO OFF ON ON OFF OFF ON ON OFF 21 Programmation, la théorie Inversion : Inversion Change l’état logique. ON devient OFF / OFF devient ON Contact X002 X013 R034 Y102 NON Etat logique avant ON Etat variable ON Fonction (NO/NF) NO Etat : (ON/ OFF) ON Etat logique après ON ON OFF ON ON OFF ON ON NO NF NO OFF OFF ON OFF OFF ON OFF OFF OFF OFF NO OFF OFF ON Sortie Etat Y102 ON Après Y102 M002 Après R034 X002 X013 R034 Y102 Y102 M002 Contact Etat logique avant Etat variable Fonction (NO/NF) Etat logique après Sortie Etat NO Etat: (ON/ OFF) ON X002 ON ON X013 R034 Y102 ON ON ON OFF OFF OFF OFF OFF ON Y102 OFF NO NF NO OFF ON OFF OFF ON OFF ON ON ON OFF NO OFF OFF OFF Après Y102 M002 Après R034 22 CopyrightActron AB 1994 Programmation, la théorie Enclenchement/Déclenchement (Set/Reset) Enclenche (SET) la sortie/variable quand la logique du bloc est ON; elle restera enclenchée même si la logique du bloc passe à OFF. Y,R,L,M Déclenche (RESET) la sortie/variable quand la logique du bloc est ON Y,R,L,M La variable adressée par la fonction de sortie SET reste OFF aussi longtemps que la condition d’enclenchement est OFF. Quand cette condition devient VRAIE, la variable passe à ON et reste ON jusqu’à ce que la fonction RESET correspondante soit activée. A B C M066 est OFF et la condition (ou entrée-SET) X002 est OFF. L’entrée-SET (X002) passe à ON et M066 est mis à ON. L’entrée-SET (X002) passe à OFF mais M066 reste ON. A B C M066 est ON et la condition (ou entréeRESET) X003 est OFF. L’entrée-RESET (X002) passe à ON et M066 est mis à OFF. L’entrée-RESET (X002) passe à OFF et M066 reste OFF. X002 M066 SET X003 M066 X003 RST M066 RST Si SET et RESET sont actifs ensembles, c’est la dernière instruction exécutée qui détermine l’état de la sortie. Enclenchement (Set), déclenchement (Reset) Relais Maître (MCS/MCR) MCS MCR Enclenchement Relais Maître (Master Control Set) Déclenchement Relais Maître (Master Control Reset) Marque le début de l’influence du relais maître sur les blocs suivants. Marque la fin de l’influence du relais maître sur les blocs suivants. Au lieu de répéter une même combinaison de contacts qui serait commune à une série de blocs, vous pouvez mettre en « évidence » cette combinaison commune et enclencher un relais maître en sortie (MCS). L’état de cette « super condition » influencera les lignes suivantes jusqu’à rencontre d’un MCR de même numéro. Copyright Actron AB 1994 23 Programmation, la théorie Enclenchement Relais Maître (MCS). X002 X003 MCS4 Déclenchement Relais Maître (MCR). MCR4 La combinaison logique d’enclenchement du relais maître est écrite avant le MCS. A chaque MCS doit correspondre un MCR de même numéro. La sortie MCR n’est précédée d’aucun contact. Cicuit écrit sans utilisation du relais maître. Le même circuit adapté à l’utilisation du relais maître n° 2 (MCS2 et MCR2) MCS et MCR sont identifiés : MCS et MCR peuvent être imbriqués jusqu’à 8 niveaux (une paire de MCS-MCR dans une autre paire de MCS-MCR). Le même numéro de MCS-MCR peut être utilisé une nouvelle fois plus loin dans le programme (après que l’utilisation précédente ait été cloturée par un MCR). 24 CopyrightActron AB 1994 Programmation, la théorie Détection de Front (contacts DIF et DFN) Le contact front montant est passant durant UNE scrutation de programme lorsque ce qui le précède passe de l’état 0 à 1. Le contact front descendant est passant durant UNE scrutation lorsque ce qui le précède passe de l’état 1 à 0. Front descendant Front montant contact DIF ON contact DFN ON Exemple X002 DIF10 X013 Y102 X002 DIF10 X013 Y102 1 Y102 X002 DIF10 X013 Y102 X002 2 Y102 X002 4 Y102 DIF10 X013 Y102 Y102 5 Y102 X002 3 Y102 DIF10 X013 DIF10 X013 Y102 6 Y102 X002 X013 DIF10 Y102 1 23 4 5 6 La zone mémoire (128 bits) réservée aux contacts fronts est commune aux DIF et aux DFN. L’adresse (0127) d’un contact DIF-- (ou DFN--) est unique et ne peut être utilisée plus d’un fois dans un programme. Les contacts DIF et DFN sont toujours du type NO. Copyright Actron AB 1994 25 Programmation, la théorie Contacts Comparatifs : Les contacts comparatifs se programment dans un bloc de la même façon qu’un simple contact NO. Le résultat de la comparaison déterminera si le contact est passant (comparaison VRAIE) ou non passant (comparaison FAUSSE). Voir aussi à ce sujet les instructions de comparaison en page 36. X002 R034 Y102 S1 = S2 Contact Etat logique avant ON Etat variable X002 ON Fonction (NO/NF) NO Etat : (ON/OFF) ON Etat logique après ON S1=S2 R034 ON OFF OFF OFF (NO) NF OFF ON OFF OFF X002 Sortie Etat Y102 OFF R034 Y102 S1 = S2 Contact Etat logique avant ON Etat variable X002 ON Fonction (NO/NF) NO Etat : (ON/OFF) ON Etat logique après ON S1=S2 R034 ON ON OFF OFF (NO) NF ON OFF ON ON Sortie Etat Y102 ON Boite Arithmétique : Les instruction intégrées dans la boite arithmétique sont exécutées dans le cas où l’état logique du circuit qui précède la boite est ON. Dans le cas contraire, les instructions ne sont pas exécutées. (voyez aussi le paragraphe concernant les instructions arithmétiques plus loin dans le manuel) X002 Contact 26 R034 S1 = S2 WR010 = WM000 + 45 WM000 = WR100 (WM001) SHL ( WM20 , 4 ) Etat logique avant ON Etat variable X002 ON Fonction (NO/NF) NO Etat : (ON/OFF) ON Etat logique après ON S1=S2 R034 ON ON ON OFF (NO) NF ON ON ON ON Sortie Etat Boite arithmétique Exécutée CopyrightActron AB 1994 Programmation, la théorie Programmation de Temporisateurs : Exemple de l’usage d’un temporisateur (travail) La sortie Y102 s’enclenche 3,5 sec. après que X002 soit passée à ON. Voyez aussi le paragraphe sur les temporisateurs en page 29. X002 TD15 3.5 S TD15 Y102 Programmation de Compteurs : Exemple de l’usage d’un compteur (totalisateur normal). La sortie Y102 s’enclenche après que l’entrée X002 ait donné 25 impulsions; le compteur sera remis à zéro par l’entrée X014. Voyez aussi le paragraphe sur les compteurs en page 32. X002 CU16 25 X014 CL16 CU16 Y102 Circuits Complexes : La programmation LADDER de la série H permet le traçage de circuits qu’il n’est pas possible de symboliser en instructions mnémoniques. Copyright Actron AB 1994 27 Programmation, la théorie Circuits d’Auto-maintien : Un circuit d’auto-maintien de variables peut être écrit de différentes façons : Une de ces manières est le circuit d’auto-maintien traditionnel qui consiste en une branche d’enclenchement et une branche de déclenchement comme illustré ci-dessous : Condition d’enclechement X002 Condition de déclenchement X003 R014 R014 Variable auto-maintenue Contact d’auto-maintien Un circuit d’auto-maintien peut également se programmer au moyen des fonctions SET et RESET; voyez, pour rappel, la page 23 Programmation de séquences par des circuits auto-maintenus : Commande des sorties dans une programmation de séquences : Représentation graphique des séquences Programmation des séquences en Ladder Commande des sorties en Ladder Suite... 28 CopyrightActron AB 1994 Programmation, la théorie Temporisateurs : page TD Tempo travail (Tempo repos, voir page 30) 0-255 29 SS Tempo simple impulsion 0-255 30 MS Tempo monostable 0-255 30 TMR Tempo intégrateur les HB/ H200 0-255 31 WTD Tempo chien de garde - 0-255 31 ne concerne pas Vous introduirez la présélection du temps lors de la programmation de la sortie temporisateur; le nombre de décimales que vous taperez décidera de la base de temps utilisée (1,23 = 123 x 0,01 sec., 12,3 = 123 x 0,1 sec., ...). Pour les PLC H300-2000 (cela ne concerne pas les HB-H252 et H302-H2002), la base de temps 0,01 sec. ne peut être utilisée que sur les temporisateurs 0 à 63. Temporisateurs TRAVAIL TD Lorsque l’entrée de commande est activée, le temporisateur commence à comptabiliser le temps.Quand il est arrivé à sa consigne, la sortie TD passe à l’état ON. Cette sortie peut être utilisée comme contact dans d’autres circuits. Lorsque l’entrée de commande est désactivée, la sortie TD revient à l’état OFF et la valeur courante de temporisation est remise à zéro. Ci-dessus, le diagramme de fonctionnnement et, à droite, les actions correspondantes.. (Si l’entrée de commande reste présente, la valeur courante du tempo continue à comptabiliser le temps même si la consigne a été atteinte; elle sera remise à zéro lorsque l’entrée de commande sera désactivée) Copyright Actron AB 1994 29 Programmation, la théorie Temporisateurs REPOS : Pour créer un temporisateur repos, vous devrez utiliser un tempo travail de la manière suivante : Temporisateurs SIMPLE IMPULSION SS Lorsque l’entrée de commande est activée, la sortie temporisateur passe immédiatement à l’état ON tandis que la comptabilisation du temps débute; si une nouvelle impulsion de commande est enregistrée, un nouveau cycle de temporisation est débuté; la sortie tempo ne sera désactivée que lorsque la valeur courante aura atteint la consigne. X002 SS12 3.5 S SS12 Y102 X002 Y102 3.5 s 0 s 0 s 0 s Temporisateur MONOSTABLE MS Lorsque l’entrée de commande est activée, la sortie temporisateur passe immédiatement à l’état ON tandis que la comptabilisation du temps débute; si Ne une nouvelle impulsion de concerne commande est enregistrée, pas les celle-ci est ignorée; la sortie HB et tempo ne sera désactivée que H200 lorsque la valeur courante aura atteint la consigne. X002 MS15 MS15 Y102 X002 Y102 3.5 s 0 s 30 3.5 s 0 s CopyrightActron AB 1994 Programmation, la théorie Temporisateur INTEGRATEUR TMR Ce temporisateur comtabilise le temps lorsque l’entrée de commande est activée et conserve la valeur atteinte une fois que l’entrée n’est plus activée. Quand le temps accumulé Ne a atteint la valeur de consiconcerne gne, la sortie tempo est pas les activée. HB et Cette sortie ainsi que la H200 valeur courante sont remises à zéro si la sortie CL portant le même numéro que la sortie TMR est activée. X002 TMR16 45 75 3 S TMR16 Y102 X004 CL16 X002 Y102 X004 6 553 5 S 4 575 3 S 0 S Temporisateur CHIEN DE GARDE WTD La travail de ce temporisa20,000 s (Min value) teur est de surveiller une action qui doit se réaliser X002 40,000 s (Max value) en un certain intervalle de temps. Le temps est mesuré entre le moment où WDT12 l’entrée de commande est activée et le moment où la sortie de remise à zéro CL Ne concerne de même numéro est actiX004 vée. pas les HB et Ce type de tempo possède H200 deux présélections. Si l’impulsion sur CL intervient avant le premier seuil, la sortie TMR est X002 activée. Si cette impulsion X004 n’arrive pas ou arrive (CL12) après le deuxième seuil, la WTD12 sortie TMR est également (Y102) activée. Copyright Actron AB 1994 WDT12 Y102 CL12 31 Programmation, la théorie Compteur : Page CU Compteur totalisateur 0-511 32 CTU Compteur/décompteur + (Up) 0-511 33 CTD Compteur/décompteur (Down) 0-511 33 CT Sortie Compteur/décompteur 0-511 33 RCU Compteur répétitif 0-511 34 CL Remise à zéro des compteurs (et certains tempos) 0-511 -- Compteur TOTALISATEUR CU/CL Le compteur totalisateur comptabilise les fronts montants de l’entrée d’impulsion et est remis à zéro par une impulsion sur la sortie CL de numéro correspondant. Tant que la sortie CL est activée, le compteur reste à zéro et les impulsions sur l’entrée de comptage sont ignorées. Quand la valeur courante du compteur a atteint la présélection, la sortie CU est activée. (Dans ce cas, les impulsions continuent à être prises en compte). L’activation de CL provoque la remise à zéro de la valeur courante et de la sortie CU. Ne concerne pas les HB et H200 X002 4 X005 CL11 CU11 Y102 X002 X005 (CL11) CU11 (Y102) 6 5 4 3 2 1 0 Le comptage est remis à zéro 32 CU11 Le comptage est égal à la consigne, la sortie est activée Le comptage et la sortie sont remis à zéro. CopyrightActron AB 1994 Programmation, la théorie COMPTEUR/DECOMPTEUR CTU/CTD/CT/CL : Un compteur/décompteur consiste en une entrée de comptage, une entrée de décomptage et une entrée de remise à zéro. Lorsque la valeur courante de comptage atteint la consigne, la sortie CT de même numéro est activée. Aussi longtemps que la sortie CL de même numéro est activée, la valeur courante et la sortie CT sont remises à zéro tandis que les impulsions de comptage et de décomptage sont ignorées. Impulsion comptage et décomptage en même temps = valeur courante inchangée. Consigne = 4 Le compteur a atteint sa valeur de consigne, la sortie passe à 1 Copyright Actron AB 1994 La sortie compteur CT et la valeur courante sont remises à zéro. La valeur courante repasse en dessous de la consigne, la sortie CT passe à 0 33 Programmation, la théorie Compteur REPETITIF RCU/CL : Un compteur répétitif totalise les impulsions jusqu’à sa valeur de consigne mais, au lieu d’atteindre cette valeur, il Ne conrepasse à 0 et recomcerne pas mence un nouveau cycle. le HB et Dans le même moment, H200 la sortie RCU est activée pour la durée d’une scrutation. Aussi longtemps que la sortie CL de même numéro est activée, la valeur courante et la sortie RCU sont remises à zéro tandis que les impulsions de comptage sont ignorées. X002 4 X005 CL9 RCU9 Y102 X002 X005 (CL11) RCU9 (Y102) 4 3 2 1 0 Le compteur atteint sa consigne et repasse à zéro. la sortie passe à 1 pour la durée d’une scrutation. 34 RCU9 Le compteur est remis à zéro, les impulsions sont ignorées. CopyrightActron AB 1994 Programmation, la théorie Introduction de la consigne des temporisateurs et compteurs : Quand vous écrivez la sortie tempo ou compteur dans votre projet, le software de programmation vous demande d’introduire la consigne de ce dernier. Cette consigne devra être comprise entre 0,01 et 65535 sec. pour un temporisateur, et entre 0 et 65535 impulsions pour un compteur et sera introduite sous forme de constante comme, par exemple, ”123.5” pour un tempo ou 12312 pour un compteur. Lorsqu’une consigne de tempo est introduite avec décimale(s), elle est affichée de la manière suivante : 1235 x 0.1 au lieu de 123.5, 1235 x 0.01 au lieu de 12.35 s. Si une consigne plus importante est souhaitée, utilisez plusieurs temporisateurs en cascade ou une combinaison de temporisateur et compteur. Consigne variable : Pour faire varier la consigne durant l’exécution du programme, vous donnerez comme consigne l’adresse d’un mot du type WX, WY, WR, WM ou WL au lieu d’une constante comme décrit plus haut. Le mot d’entrée WX001 (16 entrées) est connecté des roues codeuses binaires ou similaires. Lorsque le comptage commence, la consigne est à 4 mais, si elle est changée à 2 durant l’exécution, la sortie compteur sera activée plus tôt. La consigne est passe de 4 à 2 parce que le mot d’entrée WX1 est modifé. Lecture de la valeur courante des Temporisateurs et compteurs : TC Valeur courante Temporisateur ou Compteur La valeur courante d’un temporisateur ou compteur peut toujours être lue et utilisée dans des contacts comparatifs ou des boites arithmétiques si vous utilisez le mot de type TC dont le numéro correspond au numéro du temporisateur ou compteur que vous voulez atteindre. Copyright Actron AB 1994 35 Programmation, la théorie Les contacts comparatifs : Le contact comparatif peut être inséré et utilisé dans le schéma ladder comme un simple symbole contact NO. Ce contact comparatif met en parallèle des nombres entiers positifs. Dans les H250-H2002, il est également possible de comparer des nombres entiers "Signés", ce qui signifie que l’opération est réalisée en tenant compte des signes + ou - des opérateurs. (N.B. : les nombres signés sont toujours des doubles mots de 32 bits du type DX, DY, DR, DM ou DL) Resultat de la comparaison Mot/Bit = S1=S2 ON si S1=S2 OFF si S1 pas = S2 Mots de 16 bits : WX,WY,WR,WM,TC et constantes <> S1<>S2 ON si S1 pas =S2 OFF si S1 = S2 0-65535 H0-HFFFF < S1<S2 ON si S1 < S2 OFF si S1 >ou = S2 Mots de 32 bits : DX,DY,DR,DM, TC et constantes <= S1<=S2 ON si S1< ou =S2 OFF si S1 >S2 0-429.496.729.565.535 H0-HFFFFFFFF S= S1 S=S2 ON si S1=S2 OFF si S1 pas = S2 mots de 32-bit: DX,DY,DR,DM, TC et constantes S<> S1 S<>S2 ON si S1=S2 OFF si S1 pas = S2 Ne concerne pas comprises entre 0429.496.729.565.535 S< S1 S<S2 ON si S1=S2 OFF si S1 not = S2 les HB et H200 H0-HFFFFFFFF S<= S1 S<=S2 ON si S1=S2 OFF si S1 not = S2 Exemple: (état logique lorsque WX11=1702, WM200=1234, WR22=1235, WR223=2000) X013 Y102 WX11 = 1802 X002 Contact 36 2000 <= WR223 WM200 < WR22 Etat logique avant ON Etat variable ON Fonction (NO/NF) NO Valeur contenue dans le mot Etat : (ON/OFF) X013 ON Etat logique après ON WX11=1802 X002 WM200<WR22 ON ON ON OFF ON ON (NO) NO (NO) WX11 OFF ON ON OFF ON ON 2000<=WR223 ON ON (NO) ON ON : 1702 WM200: 1234 WR22 : 1235 WR223 : 2000 Sortie Etat Y102 ON CopyrightActron AB 1994 Programmation, la théorie Instructions de calcul, d’application et de contrôle intégrées aux boites arithmétiques : Dans la partie qui suit : "d" signifie ”destination”, désigne l’endroit où sera stocké le résultat. "S" signifie "source", désigne l’opérateur (ou les opérantes) de l’instruction (S1 et S2 désignent les valeurs sources 1 et 2) "P" signifie ”pointeur” ou index Table de variables et adressage indexé Instruction Nom Explication Bit/Mot Type de variables admises Page d=S Copie le contenu de ”S” est copié dans ”d” Bit d: Y,R,L,M S: X,Y,R,L, M, Constante 43 d=S(P) Copie utilisant adressage indexé Le contenu de l’adresse ”S” + ”P” est copié vers ”d” Mot d: 43 Double Mot (Sauf pour les HB/H200) d: DY,DR,DL, DM S: DX,DY,DR,DL, DM, Constante. d(P)=S d(P1)=S(P2) WY,WR,WL, WM,TC S,P: WX,WY,WR, WL,WM,TC, Constantes Le contenu de ”S” est copié vers l’adresse ”d” + ”P” Le contenu de l’adresse ”S”+ ”P2” est copié vers l’adresse ”d” + ”P1” L’adressage indéxé est utilisé pour atteindre une variable (mot ou bit) dont l’adresse réelle est calculée à partir d’une Adresse de Base additionnée de la valeur comprise dans l’Index Cette méthode d’adressage se note : Adresse de Base (Index) Si l’adresse réelle est en dehors de la zone admise, le bit d’erreur DER (adresse R7E4) passe à ”1” et l’opération n’est pas réalisée. WR1FF WR1FE WR107 WR106 WR105 WR104 WR103 WR102 WR101 WR100 WR100(WX10) WX10=6 WX10 (Adresse réelle = WR100 + 6 = WR106) Sommaire des instructions de calcul, d’application et de contrôle intégrées dans les boites arithmétiques : (Voyez aussi les explications détaillées de ces instructions) Copyright Actron AB 1994 37 Programmation, la théorie Instructions de calcul Symbole Nom de l’instruction Explication Bit/ Mot * 1 Page d=S1 + S2 Addition binaire d est l’addition binaire de S1 et S2 M d=S1 B + S2 Addition BCD d est l’addition BCD des valeurs BCD S1 et S2 d=S1 - S2 Soustraction binaire d est la différence binaire entre S1 et S2 S1, S2: WX, WY, WR, WL, 48 d=S1 B - S2 Soustraction BCD d est la différence BCD entre les valeurs BCD S1 et S2 WM, TC, Constante 49 d=S1 * S2 Multiplication binaire d est le produit binaire de S1 et S2 d=S1 S* S2 Multiplication binaire signée d est le produit binaire des nombres signés S1 et S2 d=S1 B * S2 Multiplication BCD d=S1 / S2 d: WY, WR, WL, WM 46 47 50 sauf HB /H200 D (sauf HB / H200) d: DY, DR, DL, DM 51 d est le produit BCD des valeurs BCD S1 et S2 S1, S2 : DX, DY, DR, DL, DM, 51 Division binaire d est le quotient binaire entre S1 et S2 Constante 52 d=S1 S/ S2 Division binaire signée d est le quotient binaire entre les nombres signés S1 et S2 d=S1 B / S2 Division BCD d est le quotient BCD entre les valeurs BCD S1 et S2 sauf HB /H200 53 53 Expressions logiques Symbole Nom de l’instruction Explication Bit/ Mot *1 d= S1 OR S2 OR (OU) d =S1 + S2 b 54 d=S1 AND S2 AND (ET) d = S1 * S2 M 54 d=S1 XOR S2 EXCLUSIVE OR (OU EXCLUSIF) d = S1 exclusive or S2 D (sauf HB/H200) 54 *1 38 Page b = bit M=Mot (16 bits) D=Double Mot (32 bits) CopyrightActron AB 1994 Programmation, la théorie Instructions de comparaison Symbole Nom de l’instruction Explication Bit/ Mot d=S1 == S2 Test d’égalité Si S1 = S2 d=S1 S == S2 Idem pour nombres signés Si S1 = S2 alors d =1 d=S1 <> S2 Test de non égalité Si S1 < > S2 alors d =1 Sinon d =0 d=S1 S <> S2 Idem pour nombres signés Si S1 < > S2 alors d =1 Sinon d =0 d=S1 < S2 Test « plus petit que » Si S1 < S2 alors d =1 d=S1 S < S2 Idem pour nombres signés Si S1 < S2 alors d =1 d=S1 <= S2 Test « plus petit ou égal » Si S1 < = S2 alors d =1 Sinon d =0 d=S1 S <= S2 Idem pour nombres signés Si S1 < = S2 alors d =1 Sinon d =0 Page alors d =1 Sinon d =0 55 Sauf pour HB/H200 Sinon d =0 Sinon d =0 Sinon d =0 56 55 M Sauf pour HB/H200 D (Sauf HB/ H200) 56 55 Sauf pour HB/H200 56 55 Sauf pour HB/H200 56 Opérations Bit sur Mot Symbole Nom de l’instruction Explication Bit/Mot Page BSET (d,n) Mise à 1 bit n Mise à 1 du bit N° "n" du mot "d" M 57 BRES (d,n) Mise à 0 bit n Mise à 0 du bit N° "n" du mot "d" D 57 BTS (d,n) Test bit n L’état ("1" ou "0") du bit N° "n" du mot "d" est copié dans C (bit de Carry = R7F0) sauf pour HB/H200 58 Instructions de décalage et rotation Symbole Nom de l’instruction Explication SHR (d,n) Shift Right Le mot d est décalé n bits à droite 59 SHL (d,n) Shift Left Le mot d est décalé n bits à gauche 60 ROR (d,n) Rotate Left Rotation n bits de d à droite avec Carry ROL (d,n) Rotate Right Rotation n bits de d à gauche avec Carry LSR (d,n) Logic Right shift d est décalé de n bits à droite, "0" est inséré à gauche D 62 LSL (d,n) Logic Left shift d est décalé de n bits à gauche, "0" est inséré à droite Sauf HB/ 62 BSR (d,n) BCD shift Right Décale d de n x 4 bits à droite H200 63 BSL (d,n) BCD shift Left Décale d de n x 4 bits à gauche Copyright Actron AB 1994 Bit/ Mot M Page 61 61 63 39 Programmation, la théorie Instructions de déplacement de données Symbole Nom de l’instruction Explication Bit/ Mot Page WSHR (d,n) Block shift right Décale n mots ou bits de 1 position WSHL (d,n) Block shift left décale n mots ou bits de 1 position WBSR (d,n) BCD shift right Décale n chiffres BCD de 1 position WBSL (d,n) BCD shift left Décale n chiffres BCD de 1 position MOV (d,S,n) Move data Déplace n mots ou bits de S vers d 67 COPY (d,S,n) Copy data Copie à partir de S et sur n mots ou bits vers d et suivants 68 XCG (d1,d2,n) Exchange Echange n mots ou bits de d1 avec n mots ou bits de d2 69 64 b M Sauf 65 HB/ 66 H200 66 Négations, valeur absolue, etc... Symbole Nom de l’instruction Explication Bit/ Mot Page NOT (d) Invertion de d Chaque bit de d est inversé b/M/D 70 NEG (d) Négation de d d devient négatif (+ = -, - = +) M/D 70 ABS (d,S) Valeur Absolue d reçoit la valeur absolue de S SGET (d,S) "Sign Get" Rend négatif si Carry=1 EXT (d,S) "Extent" Etend le signe du mot de 16 bits S pour le transformer en un mot de 32 bits d D Symbole Nom de l’instruction Explication Bit/ Mot BCD (d,S) BIN BCD Converti en BCD dans d le mot binaire S 72 BIN (d,S) BCD BIN Converti en binaire dans d le mot BCD S 73 DECO (d,S,n) Décode Décodage de S sur 2 n bits à partir de d ENCO (d,S,n) Encode Codage de la position du 1er bit à 1 dans 2 n bits à partir de S dans d SEG (d,S) 7 Segments Décode S dans d pour utilisation d’un afficheur 7 segments 71 Sauf 71 HB/ H200 72 Conversions 40 Page M 73 74 Sauf HB /H200 75 CopyrightActron AB 1994 Programmation, la théorie Commande d’application Symbole Nom de l’instruction Explication Bit/ Mot Page BCU (d,S) Comptage de bit Comptabilise dans d le nombre de bit trouvé à 1 dans S M/D 76 SWAP (d) Echange bytes Echange les 8 bits hauts et les 8 bits bas de d 76 SQR(d,S) Racine carrée Calcule la racine carrée de S dans d 76 FIFIT (P,n) Initialisation pile FIFO Défini la taille ”n” de la pile FIFO qui démarre à l’adresse ”P” FIFWR (P,S) Ecriture FIFO S est écrit dans la pile FIFO qui démarre en P FIFRD (P,d) Lecture FIFO d est lu depuis la pile FIFO qui démarre en P 78 UNIT (d,S,n) Unité Collecte 4 bits de n mots à partir de S et les stocke dans d 79 DIST (d,S,n) Distribue distribue n groupes de 4 bits du mot S vers n mots à partir de d 79 M Sauf HB/ 77 H200 77 Commandes de contrôle (saut etc...) Symbole Nom de l’instruction Explication Page END End Fin normale de la scrutation du cycle 80 CEND (S) Condition End Fin de scrutation conditionnée par S 80 JMP n Jump Saut inconditionnel vers Label n 81 CJMP n(S) Condition Jump Saut conditionné par S vers Label n 81 LBL(n) Label Adresse de fin de saut n 81 RSRV n Reserve Commande pour la gestion module BASICH 82 FREE Commande pour la gestion module BASICH Sauf 82 START n Commande pour la gestion module BASICH HB/ 82 Début boucle For...Next H200 82 FOR n (S) Boucle For NEXT n Fin boucle For...Next 82 CAL n CALL Appel sous-routine N° n 83 SB n Sous-routine Début sous-routine N° n 83 RTS Return Fin sous-routine N° n, retour au prg appelant 83 INT n Interruption Début routine d’interruption de type n (10 ms = type 0, 20 ms = type 1, 40 ms = type 2) 84 RTI Return Fin routine d’interruption de type n, retour à la scrutation normale du cycle 84 Copyright Actron AB 1994 41 Programmation, la théorie Instructions FUN pour série HB : Instruction Nom instruction Explication Page FUN 70 (S) Mode set Specifie le fonctionnement des entrées X0 à X7 seule- 147 FUN 71 (d) Lit la valeur courante du compteur rapide ment 148 FUN 72 (S) Ecrit la valeur de départ du compteur rapide pour 148 FUN 73 (d) Lit la valeur de consigne du compteur rapide HB 148 FUN 74 (S) Ecrit la valeur de consigne du compteur rapide 148 Instructions FUN pour H252, H302-H2002 : Instruction Nom instruction Explication Page FUN 0 PID-init Décide des adresses des fonctions PID 213 FUN 1 PID Check Contrôle l’exécution des fonctions PID 213 FUN 2 PID calculation Exécute les fonctions PID 213 FUN 10 Sin function Fonction Sinus 214 FUN 11 Cos function Fonction Cosinus 214 FUN 12 Tan Function Fonction Tangente 214 FUN 13 Arc Sin function Fonction Arc Sinus 214 FUN 14 Arc Cos function Fonction Arc Cosinus 214 FUN 15 Arc Tan function Fonction Arc Tangente 214 FUN 20 Data search Cherche le nombre et l’adresse d’une donnée spécifiée. 215 FUN 21 Table search Cherche une valeur dans une table. 215 FUN 30 ASCII conversion converti une donnée binaire 16 bits en ASCII Décimal 215 FUN 31 ASCII conversion converti une donnée binaire 32 bits en ASCII Décimal 215 FUN 32 ASCII conversion converti une donnée binaire 16 bits en ASCII Hexadéc. 215 FUN 33 ASCII conversion converti une donnée binaire 32 bits en ASCII Hexadéc. 215 FUN 34 ASCII conversion converti une donnée BCD 16 bits en ASCII Décimal 215 FUN 35 ASCII conversion converti une donnée BCD 32 bits en ASCII Décimal 215 FUN 36 ASCII conversion converti une donnée ASCII Décimal en binaire 16 bits 215 FUN 37 ASCII conversion converti une donnée ASCII Décimal en binaire 32 bits 215 FUN 38 ASCII conversion converti une donnée ASCII Hexadéc. en binaire 16 bits 215 FUN 39 ASCII conversion converti une donnée ASCII Hexadéc. en binaire 32 bits 215 FUN 40 ASCII conversion converti une donnée ASCII Décimal en BCD 16 bits 215 FUN 41 ASCII conversion Converti une donnée ASCII Décimal en BCD 32 bits 215 FUN 42 ASCII conversion converti une donnée Hexadéc. binaire en ASCII Hexadéc. 215 FUN 43 ASCII conversion converti une donnée ASCII Hexadéc. en Hexadéc. binaire 215 FUN 44 Combine Chr Concaténation de chaines de caractères 215 FUN 45 Compare Chr Comparaison de chaines de caractères 215 FUN 46 Words -> Bytes Conversion de mots en bytes 215 FUN 47 Bytes -> Words Conversion de bytes en mots 215 FUN 48 Shift 1 byte right Décale à droite un byte 215 FUN 49 Shift 1 byte left Décale à gauche un byte 215 FUN 50 Sets sampling Enclenchement de la fonction d’échantillonnage 215 FUN 51 Sampling Exécute la prise d’échantillons 215 FUN 52 Resets sampling Déclenchement de la fonction d’échantillonnage 215 FUN 60 Binary sqr root Racine carrée d’une valeur binaire 32 bits 215 FUN 61 Pulse generating Génération d’impulsions 215 TRNS Transmet et réceptionne des données avec une période de 10 ms. (utilisé pour ASCII, SIO, 215 P O SIT,CLOCK) RECV Réceptionne des données avec une période de 10 ms . (utilisé pour ASCII, SIO, P O SIT,CLOCK) 215 QTRNS Transmet et réceptionne des données avec période de 1 scrutation. (utilisé pour ASCII, SIO, 215 P O SIT,CLOCK) QRECV Réceptionne des données avec une période de 1 scrutation. (utilisé pour ASCII, SIO, P O - 215 SIT,CLOCK) 42 ADRPR Retourne une adresse programme 215 ADRIO retourne la réelle adresse mémoire d’une variable 215 CopyrightActron AB 1994 Programmation, la théorie Description détaillée des instructions arithmétiques : Copie d=S Copie Le contenu de S est copié dans d d et S peuvent être des bits, des mots ou des doubles mots pour les H250-H2002. Exemple: Quand X100 passe à 1, la valeur de WX000 est copiée dans WR010 tandis que l’état de X101 est copié dans le bit M10. X100 DIF10 WR010 = WX000 M10 = X101 Adressage indéxé d=S(P) Adressage Le contenu de l’adresse S+P est copié dans d d(P)=S indexé Le contenu de l’adresse S est copié dans d+P d(P1)=S(P2) Le contenu de S+P2 est copié dans d+P1 (incompatible avec les H200 fabriqués avant Mai 92) L’adressage indexé est utilisé pour atteindre une adresse relative dans une table de mots ou de bits. Ce mode d’adressage n’est exploitable que lors d’une instruction de copie. ADRESSE FINALE = ADRESSE de BASE (+ VALEUR INDEX) Si l’adresse finale est en dehors des limites admises, la variable DER (Data Error Register, adresse R7F4) passe à 1 et l’opération de copie n’est pas réalisée.. . Exemple: WR1FF A l’enclenchement de WR1FE l’entrée X200, le contenu 6 WX10 du mot d’entrée WX000 WX0F est copié vers un mot WR WR107 à l’adresse 100 (base) + le WR106 54132 contenu du mot d’entrée WR105 WX05 WR104 WX04 WX10 (index). Si le contenu de WX10 est ”6”, la valeur de WX000 est copié dans WR106. WR103 WR102 WR101 WR100 54132 X200 WX03 WX02 WX01 WX00 DIF10 WR100(WX10) = WX000 Copyright Actron AB 1994 43 Programmation, la théorie Exemple: A l’enclenchement de l’entrée X200, le mot d’entrée WX, adresse 0 + la valeur stockée dans WR101 est copié dans WR100. Si WR101 vaut ”4” alors le contenu de WX04 est copié dans WR100. WR1FF WR1FE WX10 WX0F WR107 WR106 WR105 WR104 WR103 WR102 WR101 WR100 54132 4 54132 X200 Exemple: A l’enclenchement de l’entrée X200, le mot d’entrée WX, adresse 0 + le contenu de WR1FF est copié dans WR, adresse 100 + le contenu de WR1FE. Si WR1FF vaut ”3” et WR1FE vaut ”5” alors le contenu de WX03 est copié dans WR105. 44 DIF10 WR1FF WR1FE WX05 WX04 WX03 WX02 WX01 WX00 WR100 = WX000(WR101) 3 5 WX10 WX0F WR107 WR106 WR105 WR104 WR103 WR102 WR101 WR100 54132 54132 X200 DIF10 WX05 WX04 WX03 WX02 WX01 WX00 WR100(WR1FE) = WX000(WR1FF) CopyrightActron AB 1994 Programmation, la théorie Instructions Arithmétiques La série H travaille normalement avec des nombres binaires. Cela signifie qu’un mot normal de 16 bits peut recevoir une valeur comprise entre 0-65535 décimal, (0-FFFF hexadécimal ou 0-1111 1111 1111 1111 binaire). Ce mode de codage est plus efficace que le codage BCD qui ne peut recevoir que des valeurs comprises entre 0-9999 et dont le temps de traitement est plus long. Par contre, si vous devez lire un chiffre provenant de roues codeuses BCD pour ensuite l’expédier vers un afficheur BCD externe, il sera préférable d’utiliser les instructions de calcul BCD pour éviter les conversions inutiles. Trois variables donnent des informations sur le déroulement des opérations : "C" (adresse R7F0) variable Carry donne une informations ou est utilisé dans certaines opérations arithmétiques. "Of" (adresse R7F1) variable Overflow donne une information sur un éventuel dépassement de capacité. "DER" (adresse R7F4) variable Data Error Register donne une information sur l’exactitude des adresses utilisées, sur le codage BCD d’une variable... . Une valeur est dite « Signée » si, au lieu d’interpréter la valeur Hexa 0000 - FFFF comme 0-65535 en décimal, attribue à 0000-7FFF les valeurs 0- +32767 et à 8000-FFFF les valeurs -32768- -1 Ne concerne pas les HB /H200 De cette manière, il est possible de travailler avec des v aleurs positives ou négatives. Dans le cas de double mot de 32 bit, 0000 0000 -7FFF FFFF correspond à 0 - +2147483647 et 8000 0000- FFFF FFFF correspond à 2147483648 - -1. Exemple calcul binaire : F F F F F F F E -2 0 0 0 0 0 0 1 0 +10 (1 6 dec) F 0 0 0 0 0 0 0 E + E (1 4 dec) + = on (- 2 dec) X200 W X 00 0 L’addition est faite en binaire et le résultat est un nombre binaire. 0 0 X200 F DIF10 WR 10 0 = W X 00 0 + W X00 1 WR100 001E W X 00 1 0 Exemple calcul BCD : 0 0 0 F c 0 15 0 00 000 00 00 000 11 11 W X 0 0 1 15 + 0 00 000 00 00 000 11 11 W X 0 0 0 30 = 0 00 000 00 00 001 11 10 W R 1 0 0 X200 WX000 L’addition est faite en BCD et le résultat est un nombre BCD. X200 WR100 = WX000 B +WX001 WR1 00 WX001 0 0 1 5 Copyright Actron AB 1994 DIF10 0 0 1 5 00 30 c 15 00000000000010101 W X 0 01 0 1 5 + 00000000000010101 W X 0 00 3 0 = 00000000000110000 W R 1 00 45 Programmation, la théorie d=S1 + S2 Addition binaire d est la somme binaire de S1 et S2 Si la somme S1 +S2 >FFFF (hexa) ou S1+S2 > 65535 (déc), la variable Carry "C" passe à 1 (adresse R7F0). Cette variable peut être ensuite utilisée dans le programme pour savoir si l’addition s’est bien déroulée. Exemple d’addition binaire : WR100 = WX000 +WX001 Si la somme de WX000 et WX001 > 65535, le Carry (R7F0) passe à 1. La sortie Y201 reçoit l’état du Carry et s’enclenche en cas de mauvais déroulement de l’opération.. Y201 si WX0=0999 et WX1=2345 alors WR100=2CDE et C= 0 si WX0=FFFF et WX1=0002 alors WR100=0001 et C=1 = R7F0 C=R7F0 + WX001 WX000 C = WR100 WX000 W X0 00 0 9 9 F 9 F F F WR10 0 WR100 2CDE W X0 01 00 01 WX001 c c 2 Ne concerne pas les HB/ H200 3 4 5 0 0 0 0 1 2 Pour les additions de doubles mots non signés, "C" = 1 si S1+S2 >FFFFFFFF (Hexa) ou S1+S2> 4294967295 (déc), la variable "Of" (Overflow, adresse R7F1) ne donne aucune information significative. Pour les additions de doubles mots signés, la variable "Of" (Overflow, adresse R7F1 ) passe à 1 si le résultat de l’addition n’est pas significatif. Sachant que S1m désigne le bit de poids le plus fort de S1, S2m celui de S2 et dm celui de d, le résultat, la mise à jour des variables C et Of se fait conformément aux expressions Booléennes suivantes : C (R7F0) = S 1 m * S 2 m + S 1 m * d m + S 2 m * d m O f (R7F1) = S 1 m * S 2 m * d m + S 1 m * S 2 m * d m DR100 = DX000 + DX002 Y201 = R7F0 Y202 = R7F1 Exemple d’addition binaire de mots doubles : Si la somme de DX000 et DX002 > FFFFFFFF (Hexa) la variable Carry passe à 1. La sortie Y201 s’enclenche indiquant que la résultat est supérieur à la capacité maximum de DR100. Si DX0 et DX2 sont positifs et que DR100 est négatif ou si DX0 et DX2 sont négatifs et que DR100 est positif, la variable Of s’enclenche. La sortie Y202 reçoit le contenu de Of et passe à 1. 7FFF FFF est la plus haute valeur positive. Si ‘1’ lui est ajouté, le résultat est 80000000, qui représente la plus petite valeur négative. La variable OF indique alors que l’opération s’est mal déroulée. 46 Of=R7F1 C=R7F0 + Of = C WX001 WX000 WR100 DX000 7 F F F F F F F DR100 800000 00 DX002 0 0 0 0 0 0 0 1 c Of 0 1 CopyrightActron AB 1994 Programmation, la théorie d=S1 B + S2 Addition BCD d est la somme BCD de S1 et S2 Si la somme S1 +S2 >9999 (déc.), la variable Carry "C" passe à 1 (adresse R7F0). Cette variable peut ensuite être utilisée dans le programme pour savoir si l’addition s’est bien déroulée. Si le contenu de S1 ou S2 n’est pas conforme à la codification BCD, la variable DER (R7E4) passe à 1 et l’opération n’est pas exécutée. Ce problème arrive lorsque, par exemple, S1 vaut ”9A55” (Hexa) puisque ”A” ou ”1010” (Bin) n’est pas permis dans les valeurs codées en BCD. Exemple d’addition BCD : WR100 = WX000 B + WX001 Si la somme de WX000 et WX001 > 9999, ma variable Carry (R7F0) passe à 1. La sortie Y201 reçoit le contenu du Carry et s’enclenche pour indiquer que le résultat n’est pas correct. Y201 si WX0=1111 et WX1=2345 alors WR100=3456 et C=0 si WX0=9999 et WX1=0001 alors WR100=0000 et C=1 = R7F0 C=R7F0 + WX001 WX000 C = WR100 WX000 1 1 WX000 1 1 9 9 9 9 WR1 00 3456 WX001 2 Copyright Actron AB 1994 3 4 5 c 0 WR1 00 00 0 0 WX001 0 0 0 1 c 1 47 Programmation, la théorie d=S1 - S2 Soustraction binaire d est la différence binaire entre S1 et S2 Lorsque la soustraction S1 - S2 donne un résultat inférieur à 0, la variable ”C”passe à 1 (adresse R7F0). Cette variable peut être ensuite utilisée dans le programme pour savoir si la soustraction s’est bien déroulée. Exemple de soustraction binaire : WR100 = WX000 - WX001 Si la différence entre WX001 et WX000 est inférieure à 0 (c-à-d si WX000 est plus grand que WX001) la variable Carry (R7F0) passe à 1. La sortie Y201 reçoit la valeur du Carry et s’enclenche pour indiquer que la soustraction ne s’est pas bien déroulée. Y201 = R7F0 C=R7F0 - WX001 WX000 C = WR100 WX 00 0 9 9 WX000 9 A WR1 00 Ne concerne pas les HB/ H200 5 0 1 WR100 4444 WX 00 1 5 0 0 5 6 c 0 FFFF WX001 0 0 0 2 c 1 Pour les soustractions de doubles mots signés, la variable "Of" (Overflow, adresse R7F1 ) passe à 1 si le résultat de la soustraction n’est pas significatif. Sachant que S1m désigne le bit de poids le plus fort de S1, S2m celui de S2 et dm celui de d, le résultat, la mise à jour des variables C et Of se fait conformément aux expressions Booléennes suivantes : C (R7F0) = S 1 m * S 2 m + S 1 m * d m + S 2 m * d m O f (R7F1) = S 1 m * S 2 m * d m + S 1 m * S 2 m * d m 48 CopyrightActron AB 1994 Programmation, la théorie d=S1 B - S2 Soustraction BCD d est la différence BCD entre S1 et S2 Lorsque la soustraction S1 - S2 donne un résultat inférieur à 0, la variable ”C”passe à 1 (adresse R7F0). Cette variable peut être ensuite utilisée dans le programme pour savoir si la soustraction s’est bien déroulée. Si le contenu de S1 ou S2 n’est pas conforme à la codification BCD, la variable DER (R7E4) passe à 1 et l’opération n’est pas exécutée. Ce problème arrive lorsque, par exemple, S1 vaut ”9A55” (Hexa) puisque ”A” ou ”1010” (Bin) n’est pas permis dans les valeurs codées en BCD. Exemple de soustrac- WX00 0 tion BCD DER = 1 car WX000 se correspond pas à un nombre codé en BCD 9 9 9 A W R1 0 0 x xx x WX00 1 5 Copyright Actron AB 1994 5 5 6 c 0 D ER 1 49 Programmation, la théorie d=S1 * S2 Multiplication binaire d est le produit binaire de S1 et S2 S1 et S2 sont multipliés de façon binaire et le résultat sera placé dans deux mots où d1 (la part la moins significative du résultat) sera stocké à l’adresse spécifiée par d tandis que d2 (la partie haute du résultat) sera stocké à l’adresse d+1. Pour cette raison, l’adresse de d ne pourra pas être le dernier mot d’une zone mémoire (WM ou WR...) comme par exemple WM3FF puisque d2 serait alors en dehors des limites de la zone mémoire WM. Dans ce cas de dépassement de limite, la variable DER (adresse R7FE) indiquerait l’erreur. Veuillez à ne pas utiliser l’adresse d2 pour y stocker des informations car celles-ci seraient écrasées par le résultat de la multiplication ! S1 WR100 = WX000 * WX001 S2 = d2 d1 Le résultat de la multiplication binaire entre 999A et 5556 donne 3333BBBC. Lorsque le résultat doit être stocké dans le mot le plus élevé de la zone, la variable DER passe à 1 pour indiquer l’erreur. Ne concerne pas les HB/ H200 DER = R7F4 DER WX000 WX000 9 9 9 A WX001 5 5 5 6 WR101 3 333 WR100 B BBC DER 0 9 9 A WM3 FF BB B C DER 1 WX001 5 5 5 6 Si des doubles mots sont utilisés, le résultat sera disposé de la façon suivante : D X0 D R12 DR10 = DX000 50 9 * DX002 = WR13 WR12 WX1 WX 0 WX3 D X2 WX 2 D R10 WR11 WR 10 CopyrightActron AB 1994 Programmation, la théorie d=S1 B* S2 Multiplication BCD d est le produit BCD de S1 et S2 S1 et S2 sont multipliés de façon BCD et le résultat sera placé dans deux mots où d1 (la part la moins significative du résultat) sera stocké à l’adresse spécifiée par d tandis que d2 (la partie haute du résultat) sera stocké à l’adresse d+1. Pour cette raison, l’adresse de d ne pourra pas être le dernier mot d’une zone mémoire (WM ou WR...) comme par exemple WM3FF puisque d2 serait alors en dehors des limites de la zone mémoire WM. Dans ce cas de dépassement de limite, la variable DER (adresse R7FE) indiquerait l’erreur. Veuillez à ne pas utiliser l’adresse d2 pour y stocker des informations car celles-ci seraient écrasées par le résultat de la multiplication ! Si le contenu de S1 ou S2 n’est pas conforme à la codification BCD, la variable DER (R7E4) passe à 1 et l’opération n’est pas exécutée. S1 W R1 00 = W X 00 0 B * WX 00 1 S2 = d2 d1 DER Si l’un des deux facteurs de la multiplication n’est pas BCD ou si le résultat doit être stocké dans le mot le plus haut de la zone, DER passe à 1. X WR101 = 9 9 5 5 WR100 WX000 WX000 9 WR101 0 9 xxxx WR100 xxxx WX001 DER 1 5 5 A WX001 Ne concerne pas les HB/ H200 WX001 WX000 DER = R7F4 5 6 9 5 9 6 WM3 FF 04 4 4 DER 1 En cas d’utilisation de doubles mots, le résultat est disposé de la façon suivante : DX0 WX1 WX0 DX2 WX3 WX2 DR12 DR10 = DX000 B * DX002 d=S1 S * S2 (Sauf HB/H200) Multiplication binaire de nombres signés = WR13 WR12 DR10 WR11 WR10 d est le produit binaire de S1 et S2 Cette opération n’est possible que sur des doubles mots. Les doubles mots, dont le contenu est interprèté comme étant signé, sont multipliés de façon binaire et le résultat est écrit comme une valeur signée (voir aussi la Multiplication binaire). Copyright Actron AB 1994 51 Programmation, la théorie d=S1 / S2 Division binaire d est le quotient de la division de S1 par S2 S1 est divisé de façon binaire par S2 et le quotient est écrit en d. Le reste de la division est stocké dans le mot spécial WRF016. Si le diviseur S2 est égal à 0, DER (adresse R7FE) est mis à "1" et l’opération n’est pas réalisée. S1 =d W R 100 = WX000 WRF016 / WX001 S2 DER=R7F4 Le quotient de la division binaire de 9999 par 2222 est 4 tandis que le reste est égal à 1111. Quand le diviseur est 0, la variable DER est mise à 1 et l’opération n’est pas exécutée. DER WX000 W RF0 16 9 9 9 WX000 WRF016 1111 9 9 9 9 9 W R10 0 0004 WX001 2 2 2 0 2 WR100 xxxx WX001 0 0 0 1 0 DER Ne concerne pas les HB/ H200 xxxx DER En cas d’utilisation de doubles, le résultat sera disposé comme suit : DR100 = DX000 DER / DX002 DX000 WRF017 DER=R7F4 DRF016 WX001 WX000 WX003 WX002 = WR101 WRF016 WR100 DR100 DX002 52 CopyrightActron AB 1994 Programmation, la théorie d=S1 B / S2 Division BCD d est le quotient de la division de S1 par S2 S1 est divisé de façon BCD par S2 et le quotient est écrit en d. Le reste de la division est stocké dans le mot spécial WRF016. Si le diviseur S2 est égal à 0, DER (adresse R7FE) est mis à "1" et l’opération n’est pas réalisée. Si le contenu de S1 ou S2 n’est pas conforme à la codification BCD, la variable DER (R7E4) passe à 1 et l’opération n’est pas exécutée. Ce problème arrive lorsque, par exemple, S1 vaut ”9A55” (Hexa) puisque ”A” ou ”1010” (Bin) n’est pas permis dans les valeurs codées en BCD. S1 =d WR100 = WX000 B WRF016 / WX001 Reste S2 WRF016 DER= R7F4 Si S1=9999 et S2=32, le quotient de la division sera 312 et le reste 15. Si S2=0 ou si une des variable n’est pas conforme à la notation BCD, DER est mis à 1 et l’opération n’est pas exécutée WX000 DER = (sauf HB/H200) WR100 WX001 WX000 9 9 9 9 WX001 WRF016 0015 WR100 0312 0 0 3 2 DER d=S1 S / S2 Quotient Division binaire de nombres signés 0 WX000 9 9 9 9 WX001 0 0 0 0DER WX000 WRF016 xxxx WR100 xxxx 1 9 A 9 E WX001 0 0 1 DER 0 WRF016 xxxx WR100 xxxx 1 d est le quotient de la division binaire de S1 par S2 Cette opération n’est possible que sur des doubles mots. Les doubles mots, dont le contenu est interprèté comme étant signé, sont divisés de façon binaire et le résultat est écrit comme une valeur signée (voir aussi la Division binaire). Copyright Actron AB 1994 53 Programmation, la théorie Les opérateurs lo giques S1, S2 et d peuvent être soit des bits soit des mots. Ne concerne pas les HB/ H200 d=S1 OR S2 S1, S2 et d peuvent aussi être des doubles mots OU logique sur mots ou bits d est la somme logique de S1 et S2 Une opération logique "ou" est réalisée entre chaque bit des mots S1 et S2. Cela signifie que "1" ou "1", "1" ou "0" , "0" ou "1" donnent "1" tandis que "0" ou "0" donne "0". S1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 OR S2 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 d 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 . d=S1 AND S2 ET logique sur mots ou bits d est le produit logique de S1 et S2 Une opération logique "et" est réalisée entre chaque bits des mots S1 et S2. Cela signifie que "1" et "1" donnent ”1” tandis que "1" et "0" , "0" et "1" , "0" et "0" donnent "0". S1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 AND S2 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 d 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 d=S1 XOR S2 Ou logique EXCLUSIF sur mots ou bits d est le résultat du OU Exclusif de S1 et S2 Une opération logique "ou exclusif" est réalisée entre chaque bit des mots S1 et S2. Cela signifie que "1" Xor "1", "0" Xor "0" donnent ”0” tandis que "0" Xor "1" , "1" Xor "0" donnent "1" S1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 XOR S2 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 d 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 54 CopyrightActron AB 1994 Programmation, la théorie Les opérateurs de comparaison : d est un bit Sauf HB/ H200 S1 et S2 sont des mots S1 et S2 peuvent être des doubles mots. Dans les comparaisons avec signe, S1 et S2 sont toujours des doubles mots. d=S1 == S2 Test d’égalité Si S1 = S2 alors d=1 sinon d=0 d=S1 <> S2 Test de non égalité Si S1 < > S2 alors d=1 sinon d=0 d=S1 < S2 Test « plus petit que » Si S1 < S2 alors d=1 sinon d=0 d=S1 <= S2 Test « plus petit ou égal » Si S1 < = S2 alors d=1 sinon d=0 Exemple: La valeur courante d’un compteur est comparée à la valeur affichée sur des roues codeuses. WX200 0 6 5 9 X002 Quand la valeur est inférieure à la valeur des roues, la variable R100 est à 1. Quand la valeur est <= à la valeur des roues, R101 est à 1. Quand la valeur est différente de la valeur des roues, R102 est à 1. Quand la valeur est = à la valeur des roues, R103 est à 1. X002 CU11 X005 CL11 R100 R101 R102 R103 = = = = TC11 TC11 TC11 TC11 < <= <> == WX200 WX200 WX200 WX200 RES ET X005 X002 TC11 661 660 659 658 657 656 655 654 653 652 651 650 R100 R101 R102 R103 Copyright Actron AB 1994 55 Programmation, la théorie d=S1 S == S2 (Sauf HB/H200) d=S1 S <> S2 (Sauf HB/H200) d=S1 S < S2 (Sauf HB/H200) d=S1 S <= S2 (Sauf HB/H200) Ne concerne pas les HB/ H200 Test égalité entre nombres +/- Si S1 = S2 alors d=1 sinon d=0 Test de non égalité entre nombres +/- Si S1 < > S2 alors d=1 sinon d=0 Test « plus petit que » entre nombres +/- Si S1 < S2 alors d=1 sinon d=0 Test « plus petit ou égal » entre nnombres +/- Si S1 < = S2 alors d=1 sinon d=0 Exemple. Un compteur/décompteur 32 bits est créé à partir de boites arithmétiques. Il va comptabiliser les impulsions en + ou en - et comparer sa position avec une présélection affichée sur des roues codeuses sur le double mot d’entrée DX200. DX200 0 0 0 0 X002 DIF10 DR100 = DR100 + 1 0 0 0 2 X003 DIF11 DR100 = DR100 - 1 X005 X003 DR100 = 0 X002 R100 R101 R102 R103 = = = = DR100 DR100 DR100 DR100 S S S S < <= <> == DX200 DX200 DX200 DX200 RE SE T X005 X003 DR100 Hexadec. 00000005 00000004 00000003 00000002 00000001 00000000 FFFFFFFF FFFFFFFE FFFFFFFD FFFFFFFC Dec. 5 4 3 2 1 0 -1 -2 -3 -4 X002 R100 R101 R102 R103 56 CopyrightActron AB 1994 Programmation, la théorie Opération Bit sur Mot BSET (d,n) Mise à 1 bit n "1" est placé dans le bit N° "n" du mot "d" d est un mot (WY, WR, WL, WM, TC) n est donné par les 4 derniers bits d’un mot (WY,WX,WR,WL, WM, TC) ou par une constante. d 1 Sauf HB/ H200 d peut être un double mot (DY, DR, DL, DM) n est alors donné par les 5 derniers bits d’un mot WY,WX,WR,WL, WM, TC ou par une constante. Exemple: Les quatre derniers bits de WM000 codent la valeur ”9”; le bit N° 9 du mot WY100 est donc mis à 1 (la sortie Y1009 s’enclenche). BSET(WY100,WM000) 0000001 000000111 1 0000000011111001 BRES (d,n) Mise à 0 bit n WY100 9 ( 100 1) WM000 "0" est placé dans le bit N° "n" du mot "d" d est un mot (WY, WR, WL, WM, TC) n est donné par les 4 derniers bits d’un mot (WY,WX,WR,WL, WM, TC) ou par une constante. d 0 Sauf HB/ H200 d peut être un double mot (DY, DR, DL, DM) n est alors donné par les 5 derniers bits d’un mot WY,WX,WR,WL, WM, TC ou par une constante. Copyright Actron AB 1994 57 Programmation, la théorie BTS (S,n) Test bit n L’état ("1" or "0") du bit N° "n" du mot "S" est copié dans C (Carry, adresse R7F0) S est un mot (WX, WY, WR, WL, WM, TC) n est donné par les 4 derniers bits d’un mot (WY,WX,WR,WL, WM, TC) ou par une constante S C Exemple: Le bit N° n du mot d’entrée WX200 est testé et le résultat est copié vers la sortie Y100 (n =13, donc Y100 =X2013). BTS(WX200,WM000) Y100 = R7F0 C Sauf HB/ H200 000 00 0100000 01 11 W X 20 0 0 1 3 (1 1 01 ) 00000 0001111 11 01 W M 00 0 S peut être un double mot (DX, DY, DR, DL, DM) n est alors donné par les 5 derniers bits d’un mot WY,WX,WR,WL, WM, TC ou par une constante. 58 CopyrightActron AB 1994 Programmation, la théorie Instructions de Décalage et Rotation SHR (d,n) Shift Right Le mot d est décalé de n bit(s) à droite d est un mot (WY, WR, WL, WM, TC) n est donné par les 4 derniers bits d’un mot (WY,WX,WR,WL, WM, TC) ou par une constante. La variable C (Carry, adresse R7F0) reçoit le contenu du bit décalé. Le contenu de la variable spéciale SD ("Shift Data", adresse R7F2) est copié vers toutes les places laissées libres à gauche du mot par suite du décalage. SD SD XXXXXXXXXXYZZZZZ C Z XXXXXXXXXX C Y SD SD S DS D S DS D S DS D Exemple: Le mot de sortie WY10 est décalé à droite d’un nombre de bit spécifié par WM000. Si WM000 indique une position, le contenu de WY10 passe de 5A1F avant le décalage à AD0F (hexa) après le décalage. Sauf HB/ H200 SHR(WY10,WM000) SD 1 01 0110100 0011111 C 0 1 10 1011010 0001111 1 WY10 n = 1 position (0001) 00000 0001111 0001 WM 000 d peut être un double mot (DY, DR, DL, DM) n est alors donné par les 5 derniers bits d’un mot WY,WX,WR,WL, WM, TC ou par une constante. Copyright Actron AB 1994 59 Programmation, la théorie SHL (d,n) Shift Left Le mot d est décalé de n bit(s) à gauche d est un mot (WY, WR, WL, WM, TC) n est donné par les 4 derniers bits d’un mot (WY,WX,WR,WL, WM, TC) ou par une constante. La variable C (Carry, adresse R7F0) reçoit le contenu du dernier bit décalé. Le contenu de la variable spéciale SD ("Shift Data", adresse R7F2) est copié vers toutes les places laissées libres à droite du mot par suite du décalage. C X C Y SD XXXXYZZZZZZZZZZZ SD SD Z Z Z Z Z Z Z Z Z Z Z S DSD S DSD S D Exemple: Le mot de sortie WY10 est décalé à gauche d’un nombre de bit spécifié par WM000. Si WM 000 indique 6 positions, le contenu de WY10 passe de 5A1F avant le décalage à 87C0 (hexa) après le décalage. SD S HL (WY1 0,WM 000) C 1 0101101000011111 SD 0 0 1000011111000000 0 WY10 0000000011110110 Sauf HB/ H200 W M0 0 0 d peut être un double mot (DY, DR, DL, DM) n est alors donné par les 5 derniers bits d’un mot WY,WX,WR,WL, WM, TC ou par une constante. 60 CopyrightActron AB 1994 Programmation, la théorie ROR (d,n) Rotate Right Rotation du mot d de n bit(s) à droite, en passant par la variable Carry d est un mot (WY, WR, WL, WM, TC) n est donné par les 4 derniers bits d’un mot (WY,WX,WR,WL, WM, TC) ou par une constante. La variable C (Carry, adresse R7F0) prend part à la rotation; elle reçoit l’état du dernier bit éjecté de d par la rotation à droite pour le réinjecter au décalage suivant à gauche. Z Z Z Z Z Z Z Z Z Z Z Y X1 X2X 3X 4 C C CZZZZZZZZZZZ C Y X 1X2 X3 X4 Sauf HB/ H200 d peut être un double mot (DY, DR, DL, DM) n est alors donné par les 5 derniers bits d’un mot WY,WX,WR,WL, WM, TC ou par une constante. ROL (d,n) Rotate Left Rotation du mot d de n bit(s) à gauche, en passant par la variable Carry d est un mot (WY, WR, WL, WM, TC) n est donné par les 4 derniers bits d’un mot (WY,WX,WR,WL, WM, TC) ou par une constante. La variable C (Carry, adresse R7F0) prend part à la rotation; elle reçoit l’état du dernier bit éjecté de d par la rotation à gauche pour le réinjecter au décalage suivant à droite. C C X 1X2 X3X 4 C Y Z Z Z Z Z Z Z Z Z Z Z C X 1X2X 3X4 Sauf HB/ H200 YZZZZZZZZZZZ d peut être un double mot (DY, DR, DL, DM) n est alors donné par les 5 derniers bits d’un mot WY,WX,WR,WL, WM, TC ou par une constante. Copyright Actron AB 1994 61 Programmation, la théorie LSR (d,n) Logic Right shift Le mot d est décalé de n bit(s) à droite, "0" est injecté à gauche d est un mot (WY, WR, WL, WM, TC) n est donné par les 4 derniers bits d’un mot (WY,WX,WR,WL, WM, TC) ou par une constante. La variable C (Carry, adresse R7F0) reçoit le contenu du dernier bit décalé. La valeur « 0 » est copiée vers toutes les places laissées libres à gauche du mot par suite du décalage. 0 0 XXXX XXXXXX Y ZZZZZ C Z 000000XXXXXXXXXX C Y Sauf HB/ H200 d peut être un double mot (DY, DR, DL, DM) n est alors donné par les 5 derniers bits d’un mot WY,WX,WR,WL, WM, TC ou par une constante. LSL (d,n) Logic shift left Le mot d est décalé de n bit(s) à gauche, "0" est injecté à droite d est un mot (WY, WR, WL, WM, TC) n est donné par les 4 derniers bits d’un mot (WY,WX,WR,WL, WM, TC) ou par une constante. La variable C (Carry, adresse R7F0) reçoit le contenu du dernier bit décalé. La valeur « 0 » est copiée vers toutes les places laissées libres à droite du mot par suite du décalage. C X XXXX YZZZZ ZZZZ ZZZ 0 C Y ZZZZ ZZZZZ ZZ 0 0 0 0 0 0 Sauf HB/ H200 d peut être un double mot (DY, DR, DL, DM) n est alors donné par les 5 derniers bits d’un mot WY,WX,WR,WL, WM, TC ou par une constante. 62 CopyrightActron AB 1994 Programmation, la théorie BSR (d,n) BCD shift right Décale d de n x 4 bits (n décade) à droite d est un mot (WY, WR, WL, WM, TC) n est donné par les 2 derniers bits d’un mot (WY,WX,WR,WL, WM, TC) ou par une constante. 0 X1X2 X3 X4 0 0 0 X1 X2 Exemple: WR110 subit un décalage BCD à droite; le nombre de position à décaler spécifié par WM000 est de 2. Avant le décalage, WR110 valait 7382; après décalage de 2 décades, WR110 = 0073. B S R ( W R 11 0, W M 0 0 0 ) W R 11 0 7 0 W M 00 0 0 0 Sauf HB/ H200 3 0 8 2 7 3 00000011110010 d peut être un double mot (DY, DR, DL, DM) n est alors donné par les 3 derniers bits d’un mot WY,WX,WR,WL, WM, TC ou par une constante. BSL (d,n) BCD shift left Décale d de n x 4 bits (n décade) à gauche d est un mot (WY, WR, WL, WM, TC) n est donné par les 2 derniers bits d’un mot (WY,WX,WR,WL, WM, TC) ou par une constante. X1X2 X3 X4 0 X3 X4 0 0 0 Sauf HB/ H200 d peut être un double mot (DY, DR, DL, DM) n est alors donné par les 3 derniers bits d’un mot WY,WX,WR,WL, WM, TC ou par une constante. Copyright Actron AB 1994 63 Programmation, la théorie Déplacement de données WSHR (d,n) Block shift right Décale n mots ou bits d’une position (Sauf HB/H200) d peut être un mot (WR, WL, WM). Dans ce cas, les mots d+1 à d+n-1 sont décalés à droite tandis que "0000" est écrit dans le mot d+n-1 et que le contenu de d est écrasé. d peut aussi être un bit (R, L, M). Les bits d+1 à d+n-1 sont alors décalé à droite tandis que "0" est écrit dans le bit d+n-1 et que le contenu de d est écrasé. n est donné par les 8 derniers bits (0-255) d’un mot (WY, WX, WR, WL, WM, TC) ou par une constante. d+n-1 d 0 Si d+n-1 désigne un mot ou un bit en dehors des limites autorisées, la variable spéciale DER (R7F4) est mis à ”1” sinon DER reste à ”0”. Exemple:: Les mots de WM3F0 à WM3F7 sont décalés à droite. La valeur 0 est inscrite dans WM3F7 et le contenu de WM3F0 est écrasé et disparait. WSHR(WM3F0,WR000) WM3F7 WM3F5 WM3F0 12AFEEF36721 2AD3456A10EF17F0 000012AFEEF3 xxxx 2AD3456A10EF 0 Le mot d+n-1 est compatible avec les adresses disponibles, DER reste donc à ”0”. d+n-1 W R000 d 000 00000000 01000 DER 0 WM3FF Dans le cas contraire, DER passe à 1. Dans le cas ci-contre, d+n-1 désigne WM400, variable qui n’existe pas; DER passe à 1. WM3F0 16F012AFEEF36721 2AD3456A10EF17F0 000016F012AFEEF3 xxxx2AD3456A10EF 0 d+n-2 d WR000 0 0 0 0 0 0 0 0 0 00 1 0 0 0 1 DER 64 1 CopyrightActron AB 1994 Programmation, la théorie WSHL (d,n) Block shift Left Décale n mots ou bits d’une position (Sauf HB/H200) d peut être un mot (WR, WL, WM). Dans ce cas, les mots d+1 à d+n-1 sont décalés à gauche tandis que "0000" est écrit dans le mot d et que le contenu de d+n-1 est écrasé. d peut aussi être un bit (R, L, M). Les bits d+1 à d+n-1 sont alors décalé à droite tandis que "0" est écrit dans le bit d et que le contenu de d +n-1 est écrasé. n est donné par les 8 derniers bits (0-255) d’un mot (WY, WX, WR, WL, WM, TC) ou par une constante. d+n-1 d 0 Si d+n-1 désigne un mot ou un bit en dehors des limites autorisées, la variable spéciale DER (R7F4) est mise à ”1” sinon DER reste à ”0”. Exemple:: Les mots de WM3F0 à WM3F7 sont décalés à gauche. La valeur 0 est inscrite dans WM3F0 et le contenu de WM3F7 est écrasé et disparait. Le mot d+n-1 est compatible avec les adresses disponibles, DER reste donc à ”0”. Dans le cas contraire, DER passerait à 1. WSHL(WM3F0,WR000) WM3F7 WM3F5 12AFEEF36721 WM3F0 2AD3456A10EF17F0 0 EEF36721xxxx d+n-1 456A10EF17F00000 d W R000 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 DER Copyright Actron AB 1994 0 65 Programmation, la théorie WBSR (d,n) BCD shift right Décale n décades BCD d’une position (Sauf HB/H200) d peut être un mot (WR, WL, WM). Dans ce cas, les mots d+1 à d+n-1 sont décalés à droite de 4 bits (soit, d’une décade BCD). "0" est écrit dans la position BCD la plus significative de d+n-1 et le contenu de la position BCD la moins significative de d est écrasée. n est donnée par les 8 derniers bits (0-255) d’un mot (WY, WX, WR, WL, WM, TC) ou par une constante. d+n-1 d+1 d 0 Si d+n-1 désigne un mot ou un bit en dehors des limites autorisées, la variable spéciale DER (R7F4) est mise à ”1” sinon DER reste à ”0”. WBSL (d,n) BCD shift left Décale n décades BCD d’une position (Sauf HB/H200) d peut être un mot (WR, WL, WM). Dans ce cas, les mots d+1 à d+n-1 sont décalés à gauche de 4 bits (soit, d’une décade BCD). "0" est écrit dans la position BCD la moins significative de d et le contenu de la position BCD la plus significative de d+n-1 est écrasée. n est donnée par les 8 derniers bits (0-255) d’un mot (WY, WX, WR, WL, WM, TC) ou par une constante. d+n-1 d+1 d 0 Si d+n-1 désigne un mot ou un bit en dehors des limites autorisées, la variable spéciale DER (R7F4) est mise à ”1” sinon DER reste à ”0”. 66 CopyrightActron AB 1994 Programmation, la théorie MOV (d,S,n) Move data n mots ou bits sont copiés de S vers d (Sauf HB/H200) d peut être un mot (WR, WL, WM) d peut aussi être un bit (R, L, M). n est donné par les 8 derniers bits (0-255) d’un mot (WY, WX, WR, WL, WM, TC) ou une constante. s+n-1 d+n-1 s d Si d+n-1 ou S+n-1 désigne un mot ou un bit en dehors des limites autorisées, la variable spéciale DER (R7F4) est mise à ”1” sinon DER reste à ”0”. Exemple: Une zone mémoire, dont la taille est spécifiée par WR00, est copiée de WM10 (et suivants) vers WR100 (et suivants). Dans l’exemple présent, le contenu de WR00 renseigne qu’il faut copier 8 mots. M O V ( W R 1 0 0 ,W M0 10 ,W R0 00 ) WM17 WM FDD6 2AD3456A10EF17F09999 s+n-1 d+n-1 WR FAD3 FAD3 9999 WR107 W R00 0 0 DF Copyright Actron AB 1994 WM11 WM10 222244445555 s d 22224444 FAD3FAD3FAD3FAD3 WR10 1 WR100 000000000001000 0 67 Programmation, la théorie COPY (d,s,n) Copy data Le contenu de S est copié vers n mots ou bits à partir de d (Sauf HB/H200) d peut être un mot (WR, WL, WM) d peut aussi être un bit (R, L, M). n est donné par les 8 derniers bits (0-255) d’un mot (WY, WX, WR, WL, WM, TC) ou une constante. s d+n-1 d Si d+n-1 désigne un mot ou un bit en dehors des limites autorisées, la variable spéciale DER (R7F4) est mise à ”1” sinon DER reste à ”0”. Exemple:: Le contenu de WM10 est copié vers 7 mots à partir de WR100 jusqu’à WR106. C OPY( WR1 00 , WM 01 0,7) 0000 s Dans l’exemple cicontre, ”0000” est écrit dans ces mots. WM10 d+n-1 WR FAD3FAD3 0000 WR106 DER 68 d 00000000FAD3FAD3FAD3FAD3 WR10 1 WR100 0 CopyrightActron AB 1994 Programmation, la théorie XCG (d1,d2,n) Exchange of words n mots ou bits à partir de d1 échangent leurs places avec n mots ou bits à partir de d2 d1 et d2 peuvent être des mots (WR, WL, WM). d1 et d2 peuvent aussi être des bits (R, L, M). n est donné par les 8 derniers bits (0-255) d’un mot (WY, WX, WR, WL, WM, TC) ou une constante. d1+n-1 d2+n-1 d1 d2 Si d1+n-1 ou d2+n-1 désignent un mot ou un bit en dehors des limites autorisées, la variable spéciale DER (R7F4) est mise à ”1” sinon, DER reste à ”0”. L’échange ne sera opéré que dans des zones mémoires autorisées. Si les zones d1 à d1+n-1 et d2 à d2+n-1 se recouvrent, seulement les parties des zones qui ne se superposent pas sont échangées tandis que la variable spéciale DER (R7F4) est mise à ”1”. Exemple: Les mots WM201 à WM204 changent de place avec les mots WM207 à WM20A WR000 spécifie que 4 mots devront être échangés. X CG(WM201,WM207,WR000) 000C000B000A0009000800070006000500040003000200010000 000C000B000400030002000100060005000A0009000800070000 WR000 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 DER Copyright Actron AB 1994 0 69 Programmation, la théorie Négations, valeur absolue etc. NOT (d) Inverting of words Chaque bit de d est inversé Inversion de tous les bits d’un mot ("1" devient "0" et "0" devient "1"). d peut être un mot ou un double mot (sauf pour HB/ H200) d 1010100001110010 0101011110001101 NEG (d) Make negative Complément à deux de d (+ vers -,- vers +) Le complément à deux du mot d est calculé et retourné dans le mot d. Cela signifie que la valeur H10000 (la valeur hexa 10000) moins le contenu de d est retourné dans le mot d. NEG(d) 0002 +2 FFFE -2 FFFE -2 0002 +2 (pour les doubles mots, d reçoit la valeur de H100000000 - le contenu de d) 70 CopyrightActron AB 1994 Programmation, la théorie ABS (d,S) Absolute amount La valeur absolue de S dans d Si S est négatif, il sera converti en une valeur positive et écrit dans d. Si S est positif, il est écrit dans d sand conversion intermédiaire. Le signe de S va être « récupéré » dans la variable spéciale Carry (R7F0) qui passera à "1" si S était négatif, ou à "0" si S était positif. ABS (WY10,WM000) WM000 F F F E -2 WM000 0 0 0 2 +2 WY10 0 0 0 2 +2 WY10 0 0 0 2 +2 C 1 SGET (d,s) C 0 Sign Get Neg(S) dans d si Carry à un (Sauf HB/H200) Si la variable spéciale Carry (R7F0) = 1, le complément à deux du mot S est calculé et écrit dans le mot d. Dans le cas contraire, S est simplement copié dans d. SGET(d,s) 0002 2 F F F E -2 F F F E -2 0002 2 00022 F F F E -2 00022 F F F E -2 C 1 C 0 Copyright Actron AB 1994 71 Programmation, la théorie EXT (d,S) Extend Etend le signe du simple mot S pour le transformer en un double mot d S est copié dans d et le bit le plus significatif (bit 15) de S est copié vers tous les bits du mot d+1. Cela permet de convertir un simple mot de 16 bits en un double mot de 32 bits en conservant le signe. s 0 1 1 00 1 1 1 0 1 0 11 10 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 00 1 1 1 0 1 0 11 10 1 d d+1 s 1 1 1 00 1 1 1 0 1 0 11 10 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 00 1 1 1 0 1 0 11 10 1 d d+1 Convertion. BCD (d,S) BIN BCD Converti un mot binaire en BCD S et d peuvent être des mots. La valeur binaire stockée en S est convertie en BCD dans d. Si la valeur héxa de S est supérieure à H270F, la valeur BCD serait supérieure à 9999. Dans ce cas, la variable spéciale DER (R7F4) passe à 1 et le contenu de d reste inchangé. s 1 7 5 9 DER 0 d 5 4 9 7 s 7 9 E 5 DER 1 d 5 4 9 7 Sauf HB/H200 72 S et d peuvent aussi être des doubles mots. Si la valeur hexa de S est supérieure à H5F5E0FF, la valeur BCD serait supérieure à 99999999. Dans ce cas, DER passe à 1 et d reste inchangé. CopyrightActron AB 1994 Programmation, la théorie BIN (d,S) BCD Converti un mot BCD en binaire BIN S et d peuvent être des mots. La valeur BCD de S est convertie en binaire et écrite dans d. Si un chiffre de S est un signe non admis dans la codification BCD (0-9), la variable spéciale DER (R7F4) passe à 1 et d reste inchangé. s 5 4 9 7 BCD DER 0 d 1 7 5 9 s 9 5 5 E DER 1 d 1 7 5 9 binaire Seulement les chiffres 0 - 9 sont autorisés binaire S et d peuvent aussi être des doubles mots. DECO(d,S,n) Decode Décodage de S au sein de n bits Le contenu des n bits les moins significatifs de S défini la position du bit qui sera mis à ”1”. Cette position est calculée à partir du bit d. Les autres bits, à partir de d et jusqu’au bit mis à 1 ainsi que les bit suivants jusqu’au bit en position 2n -1 sont mis à "0". s 0 0 0 00 0 00 0 0 B 0 10 0 DECO(M100,WX10,6) 0 0 0 0 0 0 00 0 0 0 0 S= W X 1 0 B=17 1 01 0 01 1 10 10 1 00 0 1 00 00 0 0 000 0 1 01 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Si la position d+ 2n -1 est en dehors des limites de la zone mémoire considérée, la variable spéciale DER est mise à 1 mais l’opération est malgré tout exécutée. Si la position d+B est également en dehors des limites autorisées, tous les bits à partir de d et jusqu’à la limite mémoire sont mis à ”0”. Copyright Actron AB 1994 73 Programmation, la théorie ENCO (d,S,n) Encode Codage de n bits vers un mot. L’aire de recherche est définie par S, le début de la zone, et la longueur, 2n -1 bits. La fonction recherche dans cette zone allant de S à S+2n -1 la position du bit le plus significatif étant à l’état ”1” et écrit cette position en binaire dans le mot d. 0 0 000 000 0 0 s+B n s+2 -1 ENCO(WY100,M100,5) B=2 WY100=2 s 1 0 0 00 00 00000 0 000 1 00 0 16 14 12 10 8 6 4 2 0 s+B 18 0 0 000 000 0 0 B=14 WY100=14 s 1 0 0 01 00 00 1 00 0 000 1 00 0 18 16 14 12 10 8 6 4 2 0 Si tous les bits dans cette zone S à S+ 2n -1 sont à "0", la variable spéciale Carry (R7F0) est mise à 1 et d reçoit la valeur "0000". Si la position S+ 2n -1 est en dehors des limites autorisées, la variable spéciale DER est mise à 1 mais l’opération est malgré tout exécutée en ne tenant compte que des bits disponibles. 74 CopyrightActron AB 1994 Programmation, la théorie SEG (d,S) 7 Segments Décodage pour affichage 7 segments (Sauf HB/H200) Le contenu du mot S est décodé et écrit dans le double mot d. Chaque chiffre de S est décodé en un ensemble de 7 bits qui représentent l’état des segments d’un afficheur 7 segments suivant la table suivante : 0 1 7 F a f b g 0 0 1 1 1 1 1 1 0 0 0 0 0 1 10 0 0 1 0 0 1 1 1 0 11 1 0 00 1 e c d 0 1 2 Copyright Actron AB 1994 3 4 5 6 7 8 9 A B C Info entrée Sorties g f e d c b a 0 1 2 0 0 0 0 0 1 1 0 0 1 0 1 1 0 1 1 1 0 1 1 1 1 0 1 3 0 1 0 0 1 1 1 1 4 0 1 1 0 0 1 1 0 5 0 1 1 0 1 1 0 1 6 0 1 1 1 1 1 0 1 7 0 0 1 0 0 1 1 1 8 0 1 1 1 1 1 1 1 9 0 1 1 0 1 1 1 1 A 0 1 1 1 0 1 1 1 B 0 1 1 1 1 1 0 0 C 0 0 1 1 1 0 0 1 D 0 1 0 1 1 1 1 0 E 0 1 1 1 1 0 0 1 F 0 1 1 1 1 0 0 1 D E F 75 Programmation, la théorie Commandes d’application SQR (d,S) Square root Racine carrée de d dans S. (Sauf HB/H200) d reçoit la racine carrée de S. S doit être au format BCD sinon la variable spéciale DER (R7F4) passe à 1. s SQR(WM020,DR030) d BCU (d,S) Bit Count Comptabilise dans d le nombre de bit à "1" trouvé dans S Le nombre de bit à "1" de S sont comptabilisés et le résultat est écrit dans d. 11 ”1”s (hexadecimal 000B) 0111101000011111 000B S peut aussi être un double mot (sauf pour HB/H200). Dans ce cas, 0 - 32 (hexa 00000000 - 00000020) est écrit dans d. SWAP (d) Swap bytes Les 8 bits hauts de d sont échangés avec les 8 bits bas Exemple: 8 bits hauts SWAP(WY20) 8 bits bas Avant d=WY20 76 0B17 Après 170B CopyrightActron AB 1994 Programmation, la théorie FIFO (Pile « premier entré, premier sorti ») La fonction FIFO (First In First Out) comporte trois instructions : - FIFIT défini la taille de la pile FIFO. - FIFWR écrit une donnée dans la pile. - FIFRD lit une donnée depuis la pile. FIFIT (P,n) FIFO Init Défini la taille de la pile commençant en P (Sauf HB/H200) n est écrit à l’adresse P et définit la taille maximum de la pile FIFO. La valeur maximum de n est 256; si n est supérieur à cette valeur, c’est 256 qui sera malgré tout écrit dans P. L’adresse au-dessus de P, soit P+1, contient le compteur qui indiquera le nombre d’éléments actuellement contenus dans la pile. Ce compteur est remis à zéro lors de l’exécution de l’instruction FIFIT. La pile elle-même commence à l’adresse P+2. Si P+n+1 désigne une adresse en dehors des limites admises, la variable spéciale DER (R7F4) passe à 1 et la dernière variable de la zone est considérée comme fin de la pile. P Taille pile FIFO P+1 Compteur FIFO (A) n 0 P+2 Position 1 Position 2 Taille maximum de la pile FIFO P+n+1 Position n FIFWR (P,S) FIFO Write S est écrit dans la pile FIFO qui démarre à l’adresse P (Sauf HB/H200) Cette instruction écrit le mot S dans la pile FIFO à l’adresse adéquate et met à jour le compteur indiquant le nombre d’éléments contenus dans celle-ci (A = A + 1). L’adresse de stockage de S est calculée par P +2+A. Si A>= n (la pile est pleine) S n’est pas stocké DER flag (R7F4) passe à 1. p Taille pile FIFO Compteur FIFO (A) A Position 1 Position 2 p+A+2 S p+n+1 Position n Copyright Actron AB 1994 77 Programmation, la théorie FIFRD (P,d) FIFO Read d est lu depuis la pile FIFO qui démarre en P (Sauf HB/H200) Cette instruction lit la pile FIFO qui démarre à l’adresse P. Le contenu de l’adresse P+2 est écrit dans d. A est automatiquement diminué de 1. Le contenu de l’adresse P+3 ainsi que toutes les suivantes sont décalées d’une position (P+3 → P+2, P+4 → P+3 etc.). Si A=0 (la pile est vide) aucune valeur n’est écrite dans d et DER (R7F4) passe à 1. p Exemple: Taille pile FIFO R7E3 FIFIT(WR100,5) Compteur FIFO (A) Position 1 A X200 d DIF1 FIFWR(WR100,WX010) Position 2 X201 DIF2 FIFRD(WR100,WY100) p+n+1 Phase 1 Phase 2 Phase 3 R7E3 X200 X200 WR100 WX010 WR102 WR106 5 0 5 0 Non défini Non défini Non défini Non défini Non défini WR10 0 WR10 2 WR10 6 Phase 4 (les données ont été décalées 2 fois entre la phase 3 et 4) WX010 WR100 WR102 WR106 78 X2 00 1111 5 5 5556 7EA3 7777 2222 1111 5 1 5556 Non défini Non défini Non défini Non défini Phase 5 R7F4=0 X200 5556 WX 010 WR 100 WR 102 WR 106 WX010 WR10 0 WR10 2 WR10 6 7EA3 5 2 5556 7EA3 Non défini Non défini Non défini Phase 6 R7F 4=1 6666 R7F4=0 X201 WY030 WR10 0 5 5 5556 7EA3 7777 2222 1111 WR10 2 WR10 6 5556 5 4 7EA3 7777 2222 1111 Non défini CopyrightActron AB 1994 Programmation, la théorie UNIT (d,S,n) Unit 4 bit data 4 bits de n mots à partir de S pour constituer d Les derniers 4 bits de n mots à partir de S sont collectés pour constituer le mot d conformément à la figure ci-dessous. n est compris entre 0 et 4. Si n < 4, le reste du mot est complété par des "0". Si S+n+1 désigne un mot en dehors des limites autorisées de la mémoire, la variable spéciale DER (R7F4) passe à 1 et l’opération n’est réalisée qu’au moyen des mots réellement disponibles, les places manquantes sont remplies par des "0". LSD MSD B4 S LSD B3 B2 d B1 B1 B2 B3 S+n-1 B4 Exemple: Les derniers bits du mot S à partir de WR100 et suivants sont écrits dans le mot WY20. UNIT(WY20,WR100,4) B5F4 WR100 WR103 00F4 WY20 123 4 A67 F 78D 5 998 B DIST (d,S,n) UNIT(WY20,WR100,2) WR100 WR103 1234 A67F 78D5 998B Distribute WY20 00 n groupe(s) de 4 bits de d sont écrits dans n mot(s) à partir de S n groupe(s) de 4 bits de d (à partir des bits les moins significatifs) sont copiés vers n mot(s) à partir de S conformément à la figure ci-après. n est compris entre 0 et 4. Si d+n+1 désigne un mot en dehors des limites autorisées de la mémoire, la variable spéciale DER (R7F4) passe à 1 et l’opération n’est réalisée que sur les seuls mots réellement disponibles. LSD MSD B4 d d+n-1 000 000 000 000 LSD B3 B2 B1 s B1 B2 B3 B4 . Exemple: Un mot d’entrée va être lu et divisé de façon à stocker chaque groupe de 4 bits dans n mots internes. DIST(WM100,WX10,4) DIST(WM100,WX10,3) B 5 F 4 WX10 WM100 WM103 0004 000F 0005 000B Copyright Actron AB 1994 0 5 F 4 WX10 WM100 WM103 000 4 000 F 000 5 998B 79 Programmation, la théorie Commandes de contrôle (End, Jump etc.) END End Indique la fin normale de la scrutation Indique la fin de la scrutation et provoque une nouvelle lecture du programme à partir du début. Cette instruction n’est pas nécessaire si des sous-programmes ou des routines d’interruption suivent le programme principal. Si elle est utilisée, une seule instruction END est permise. END Si diverses fins sont souhaitées, voir l’instruction CEND. CEND (S) Condition END Conditional program End, on condition S Indique la fin de la scrutation et provoque une nouvelle lecture du programme à partir du début dans le cas où la condition S est vraie. Cette instruction est utilisée pour créer des fins de programme alternatives qui permettent de diminuer le temps de scrutation du programme normal.. CEND ne peut pas être utilisé en dehors du programme normal (pas dans des sous-programmes ou des routines d’interruption). Début de programme Programme normal CEND(X100) Exemple: La seconde partie du programme principal qui concerne, par exemple, un programme de mise en route, ne sera exécutée que si X100 est OFF. Programme normal END 80 CopyrightActron AB 1994 Programmation, la théorie JMP n Jump Saut inconditionnel vers label n CJMP n(S) Cond. Jump Saut conditionnel vers label n LBL n Label Fin de saut n condition Provoque un saut dans le programme jusqu’au label correspondant. A chaque JMP n ou CJMP n doit correspondre un LBL n de même numéro (n = 0 à 255). JMP n provoque un saut inconditionnel (dans le cas où la condition d’entrée dans la boite arithmétique est remplie). CJMP n entraine un saut à condition que S soit vrai (et que la condition d’entrée dans la boite arithmétique soit remplie). inconditionnel JMP n Programme LBL n condition condition C JM P JMP 10 Programme X202 CJMP 10 Programme X203 JMP 11 Programme LBL 10 LBL 11 X203 (X204) (s ) Programme L BL X201 n n Plusieurs sauts vers un même label sont admis. Des sauts avec différentes étiquettes sont indépendants l’un de l’autre et peuvent donc être imbriqués. Un saut est directement opéré vers le label correspondant ce qui permet de réduire le temps de scrutation. Les sauts arrières sont également permis mais il faut prendre garde de bien prévoir une porte de sortie à la boucle ainsi programmée. Si un saut passe au dessus d’un tempo, celui-ci continue à comptabiliser le temps mais aucune action ne sera menée lorsqu’il aura atteint la consigne tant que cette partie de programme n’est pas exécutée. JMP 10 Les sauts ne sont pas admis si le début et la fin ne se trouvent pas dans la même zone de programme. Il n’est donc pas permis de sauter du programme principal vers la zone des sous-programmes ou des routines d’interruption, ou d’un sous-programme vers une routine d’interruption. Programme principal OK Sous-programme Pas OK Rout. interrupt. Copyright Actron AB 1994 81 Programmation, la théorie RSRV n Commande pour le BASICH-module voir FREE Commande pour le BASICH-module decription STAR n Commande pour le BASICH-module séparée Reserve FOR n (S) (Sauf HB/H200) Début partie de programme répétitif NEXT n (Sauf HB/H200) Fin partie de programme répétitif La partie de programme entre FOR n et NEXT n F OR n ( s ) correspondant sera répétée S fois. S sera un mot (WM, WR ou WL); il sera diminué de 1 à chaque S fin de boucle et quand S vaut 0, la répétition est Programme fois interrompue (il est possible de changer la valeur de N EX T n S en cours d’exécution). S -1 fois n est un nombre entre 0 et 49. Chaque étiquette ne pourra être utilisée qu’une seule fois dans un programme. A chaque FOR doit correspondre un NEXT de même numéro; FOR doit être programmé avant NEXT. FOR 1 (WR100) FOR et NEXT peuvent être imbriqués sur 5 niveaux. FOR 2 (WR101) Ce genre de programmation peut facilement allonger le temps de scrutation du programme; il faut veiller à ce que ce temps reste inférieur au temps maximum admis stipulé dans le menu SETUP-PLC. Si, par exemple, les mots WR100-WR104 sont tous égaux à 10, le morceau de programme entre FOR 5 et NEXT 5 sera répété 10 x 10 x 10 x 10 x 10 =100000 fois. Si cette part de programme est exécutée en 1 ms, le temps total de scrutation sera supérieur à 100 ms, ce qui n’est pas possible. FOR 3 (WR102) FOR 4 (WR103) FOR 5 (WR104) NEXT 5 NEXT 4 NEXT 3 NEXT 2 NEXT 1 FOR 5 (WR104) FOR 4 (WR103) Non permis Il n’est pas admis de chevaucher des boucles FOR-NEXT. NEXT 5 NEXT 4 Il est possible de sauter hors d’une boucle avant que celle-ci soit complètement terminée. Lorsque cette boucle sera à nouveau exécutée, elle le sera à partir du début. Il est possible de placer une condition d’entrée dans la boite arithmétique contenant l’instruction FOR ou NEXT mais dans ce cas, cette condition doit être indentique pour le FOR et pour le NEXT. 82 FOR 5 (WR104) JMP 12 NEXT 5 CopyrightActron AB 1994 Programmation, la théorie CAL n CALL Appel du sous-programme N° n SB n Subroutine Début du sous-programme N° n RTS Return Fin de sous-programme et retour CALL n appelle un sous-programme. SB n défini le début d’un sous-programme. RTS marque la fin du sous-programme et branche l’exécution du programme sur la ligne qui suit l’instruction CALL n. Program X203 C AL n Program L’utilisation d’un sous-programme permet de ne pas devoir réécrire plusieurs fois un ensemble d’instruction dans un programme. E ND SB n peut prendre une valeur entre 0 et 99 et désigne le numéro du sous-programme. n Sub routine Les sous-programmes sont placés directement après le programme principal (après l’éventuelle instruction END). Ils peuvent être écrit avant ou après les routines d’interruption. R TS Un sous-programme peut appeler un autre sousprogramme et cela jusqu’à 5 niveaux. Le système garde alors en mémoire l’ordre des retours. Il est également possible d’avoir plusieurs entrées dans un sous-programme (à un même RTS correspond plusieurs SB n). Dans ce cas, vous devrez utiliser une instruction JMP pour sauter les instructions SB non utilisées. a b a a a a a a a a a Copyright Actron AB 1994 b 83 Programmation, la théorie INT n Interrupt Début routine d’interruption de type n RTI Return Fin routine d’interruption et retour INT n marque le début d’une routine d’interruption. RTI marque la fin de la routine et branche l’exécution du programme vers la ligne en cours au moment de l’interruption. n est un nombre compris entre 0 et 31; ce nombre précise le type d’interruption (voir page 126) Programme E ND I NT n Routine d’interruption INT et RTI doivent être inconditionnels c’est à dire qu’il ne peut pas y avoir de circuit logique avant la boite arithmétique intégrant l’instruction INT et RTI. R TI Si une des interruptions possibles arrive et qu’une routine relative à cette interruption est programmée, la scrutation du programme normal sera suspendue et la routine d’interruption sera exécutée, la scrutation normale reprendra ensuite. 84 Prg principal Prg principal Prg principal Prg principal Prg principal Interupt type 2 Interupt type 1 INT 1 RTI INT 1 RTI INT 1 RTI INT 1 RTI INT 1 RTI INT 2 RTI INT 2 RTI INT 2 RTI INT 2 RTI INT 2 RTI CopyrightActron AB 1994 Programmation, la théorie Programmation en langage Mnémonique : Cette partie du manuel ne vous concerne que si vous devez utiliser la console Hitachi. Comme vous le verrez ci-dessous, il est possible de symboliser la logique d’un programme au moyen d’instructions mnémoniques mais , comme la mémorisation dans le PLC se fait en Ladder, cela signife que l’utilisation du code mnémonique entraine, comme sur certains autres appareils, quelques limitations. C’est la raison pour laquelle l’utilisation des softs ActSip (Ladder) et ActGraf (Grafcet) est préférable. Instructions « contact de début de branche » Défini le début d’un bloc ou d’une branche. Symbole Instruction Nom Descript ion Type d’adresse utilisable instruction LD LoaD Début d’un bloc ou d’une branche (NO) X,Y,R,L.M LDI LoaD Début d’un bloc ou d’une branche (NF) TD,SS,CU,CT Invert X002 X013 Y102 R034 Y102 M002 LD AND OR LDI OR ANB OUT X002 X013 Y102 R034 M002 Y102 Les deux contacts (R034 et M002) sont seuls sur une branche; il est nécessaire de créer une nouvelle branche par un nouveau LDI. Symbole Instruction Nom Description Type d’adresse utilisable connection série, contact NO WDT, MS, instruction AND AND TMR (pas sur ANI ANd connection série, contact NF tous les CPU) DIF, DFN Invert OR OR connection parallèle, contact NO ORI OR connection parallèle, contact NF Invert X002 X013 R034 R01A Y102 LD X013 Y102 OR M002 LDI Y102 Copyright Actron AB 1994 M002 X002 AND OR ANB R034 ANI R01A OUT Y102 85 Programmation, la théorie Comme le dernier contact (R01A) est seul sur sa branche, il n’est pas nécessaire de créer un nouvelle branche; vous utiliserez plutot l’instruction ”ANI ”. Connection série ou parallèle de blocs : Symbole Instruction Nom Description Type d’adresse utilisable instruction ANB AND BLOCK Connection série de blocs logiques - ORB OR Connection parallèle de blocs logiques - BLOCK Combine les branches l’une à l’autre par ANB (connection série) ou ORB (connection parallèle) de façon à créer un circuit de plus en plus important. C A X002 Y102 E X013 M012 R034 R01A F Y1 X002 X013 Y102 M012 Branche A LDI OR R034 M002 Branche D ANI R01A F est mis en série avec E OUT Y102 ORB M002 B LD AND LD ANI D ANB Branche B Connection // de A et B pour former C. Connection série de C et D formant E Commande sortie Symbole Instruction Nom Description Type d’adresse utilisable instruction Symbole NOT NOT Inversion logique d’un bloc - Instruction Nom Description Type d’adresse utilisable Sortie (bobine) Y, R, L, M instruction OUT OUT TD, SS, CU, CT CTU, CTD, CL WDT, MS TMR, RCU (pas sur tous les CPU) 86 CopyrightActron AB 1994 Programmation, la théorie Symbole Instruction Nom Description Type d’adresse utilisable SET Enclenche une sortie ou une variable Y,R,L.M RST Déclenche une sortie ou une variable Y,R,L.M instruction Symbole MCS Master Control Set Enclenchement du Relais Maître MCS MCR Master Control Reset Déclenchement du Relais Maître MCR Instruction Nom Description Type d’adresse utilisable AND DIF Connection série d’un front montant DIF OR DIF Connection parallèle d’un front montant AND DFN Connection série d’un front descendant OR DFN Connection parallèle d’un front descendant instruction Symbole Instruction Nom DFN Description Type d’adresse utilisable Enregistre l’état logique actuel -- instruction MPS Push MRD Read MPP Pull Copyright Actron AB 1994 Restaure l’état logique sauvé par MPS Restaure et remet à zéro l’état logique sauvé par MPS 87 Programmation, la théorie Symbole Instruction Nom Description Type d’adresse utilis able Temporisateur travail - instruction Symbole OUT TD Time base, Time Time OUT SS Time base, Time Single Shot Temporisateur donnant une impulsion de T sec. - OUT CU Preset Count Up Compteur totalisateur - OUT CTU Preset Count Up Compteur / décompteur sortie + - OUT CTD Count Down Compteur / décompteur sortie - - OUT CL CLear Remise à zéro des compteurs et tempos - Instruction Nom instruction Description Type d’adresse utilis able ( Contact comparatif début et fin Le résultat de la comparaison détermine l’état ON/OFF du contact WR, WY, WX, TC, WL, WM, constante ) Delay Crée le "contact comparatif " en tapant [AND], [ANI], [OR] ou [ORI] suivi ensuite d’une parenthèse [ ( ], de l’expression de la comparaison puis d'une parenthèse [ ) ] comme, par exemple : AND (S1=S2), ORI (S1<S2) ou LD (S1<>S2) Symbole Instruction Nom instruction Description Type d’adresse utilis able [ Boite arithmétique début et fin Permet de programmer des instructions arithmétiques, des sauts...etc WR, WY, WX, TC, WL, WM, constante ] Crée une boite arithmétique en tapant "[" suivi ensuite des différentes instructions arithmétiques ou autres puis d’un "]" pour cloturer la boite. Exemple : [ WR00=WX00 SHL (WM101 , 5) ] 88 CopyrightActron AB 1994 Programmation, la pratique Programmation, la pratique Copyright Actron AB 1994 89 Programmation, la pratique 90 Copyright Actron AB 1994 Programmation, la pratique Programmation, la pratique : Les étapes du développement de votre projet : Choisir le type d’automate, le mode de répartition des entrées et sorties : Commencez par étudier la répartition géographique de votre installation. Si les distances entre les capteurs, les organes moteurs et l’automate sont courtes, vous pourrez choisir de centraliser le PLC en une seule unité et de câbler normalement les entrées en sorties en liaison avec celui-ci. Si, par contre, les distances entre automate, capteurs et moteurs sont importantes, plusieurs solutions peuvent être envisagées : • si l’automatisme le permet, vous pourriez traiter séparément différentes unités indépendantes l’une de l’autre en utilisant plusieurs automates; cette solution ne permet par contre pas d’échanger des données d’un appareil vers un autre. • si l’échange de données est obligatoire, vous pourrez opter pour l’utilisation de plusieurs CPUs liaisonnés par un réseau; cette solution permet de travailler avec des petits programmes indépendants mais qui ont malgré tout la possibilité de communiquer entre eux par l’intermédiaire du réseau deux fils. • si, par contre, vous ne désirez pas diviser votre programme en différentes entités, vous pourrez utiliser un automate central (maître) pilotant des E/S locales ainsi que des E/S déportées (modules esclaves, liaison par deux fils). Il est maintenant temps de choisir le PLC; vous trouverez dans le tableau suivant des informations générales qui vous guideront dans votre choix . Série Pour installation de taille... HB Petite Adapté pour le nombre d’E/S... (Nb Maxi) 0-120 (208) HL Petite 0-120 (208) H200 0-256 (512) H300 Petite et moyenne Petite et moyenne Petite et moyenne Moyenne H302 Moyenne 0-250 (576) H702 Moyenne H2002 Grande 0-600 (1280) 0-4000 (4096) H250 H252 0-256 (512) 0-450 (928) 0-250 (576) Type de module d’E/S Possibilité de réseau et E/S déportées Choix limité Choix limité Large choix Large choix Large choix Large choix Large choix Large choix Large choix Non Majorité d’entrées et sorties digitales Oui Majorité d’entrées et sorties digitales et réseau Oui Large choix de modules d’E/S digitales ou analogiques, réseau, E/S déportées... Comme le H200 mais avec plus de puissance Plusieurs choix Plusieurs choix Plusieurs choix Plusieurs choix Plusieurs choix Plusieurs choix Principales caractéristiques des modules d’E/S Comme le H200 mais avec plus de puissance et un nombre d’E/S accru Large choix de modules d’E/S digitales et analogiques, réseau, Ethernet, E/S déportées... Comme le H300 mais avec plus de puissance Comme le H300 mais avec plus de puissance et un nombre d’E/S accru Comme le H300 mais avec plus de puissance et un nombre d’E/S accru Estimation de la taille mémoire : Quand vous aurez déterminé le PLC, vous devrez estimer la taille mémoire nécessaire. Une méthode simple consiste à compter une dizaine de pas de programme pour la gestion d’une E/S digitale intégrée dans un programme séquentiel. Vous devrez tenir compte en plus de cela de la place mémoire utilisée pour les calculs, les comparaisons, etc.. (voir à ce sujet la page 217 pour connaître le nombre de pas utilisés pour chaque instruction) N’oubliez pas de prévoir une bonne réserve dans votre estimation. Si la capacité mémoire nécessaire est proche du maximum disponible, n’hésitez pas à sélectionner une mémoire plus importante si elle existe ou prévoyez l’appareil suivant de la gamme Hitachi. Sélection des modules d’E/S : Choisissez dans la partie du manuel propre à chaque série les modules d’E/S nécessaires ou consultez la liste de prix. Copyright Actron AB 1994 91 Programmation, la pratique Configuration des racks du système : Consultez la partie du manuel propre à chaque type d’appareil et décidez de la disposition des différentes cartes dans le rack de base et les extensions. Additionnez les consommations de courant de chaque module pour sélectionner la carte d’alimentation adaptée. En cas de problème, vous devrez peut-être choisir une autre disposition des cartes dans les racks afin de mieux répartir les consommations de courant. Commande des différents éléments : Passez votre commande le plus tôt possible. C’est la meilleure garantie pour que nous puissions livrer le matériel dans les délais souhaités (un article généralement stocké peut être temporairement non disponible !). N’oubliez pas de commander les petits accessoires tels que câbles d’interconnexion des racks, couvercles pour emplacements non utilisés... Réception des marchandises : Vérifiez que tout les articles ont bien été livrés conformément à votre commande et qu’ils n’ont subit aucun dommage durant le transport. Si c’est le cas, contactez nous immédiatement pour nous permettre de réagir au plus tôt. Conservez les boites d’emballage au moins jusqu’à ce que la machine soit terminée ou expédiée. Assemblez les composants comme prévu et montez le système conformément aux directives d’installation décrites en page 127. Installation, raccordement de la tension et des E/S : Installez le PLC en accord avec les prescriptions données au chapitre "description générale du matériel" en page 128. Connectez l’alimentation, les câbles d’extension, les cartes d’E/S comme prescrit dans le chapitre relatif au type d’appareil commandé. Vérifiez le raccordement de chaque signal d’entrée au moyen des LEDs disponibles sur la face avant de la majorité des cartes d’entrée. Installez le software de programmation sur PC : Déballez les disquettes, allumez votre ordinateur et placez la première disquette dans le lecteur A: (ou B:). Tapez A: <Enter> et ensuite Install <Enter> puis répondez aux questions qui vous sont posées. Le programme vous proposera d’utiliser le répertoire "ACTSIP" pour installer votre software. Tapez <Enter> (= Yes) pour l’accepter ou bien donnez le nom d’un autre répertoire. Continuez avec la seconde disquette. Connection entre PC et PLC pour programmation : Si vous programmez en mode « non connecté » (= Off-Line), vous n’aurez rien besoin de plus que le software installé. Si vous décidez de communiquer avec le PLC (programmation « en ligne »), vous devrez utiliser le câble de connection que vous aurez commandé avec le software. Connectez-le entre la sortie série de votre PC et le port série (connecteur DB15) se trouvant sur le CPU de votre automate. 92 Copyright Actron AB 1994 Programmation, la pratique Programmation par PC Cette section du manuel donne une brève description des softwares de programmation Ladder ou Graphcet. Pour une information plus détaillée, veuillez vous reporter au manuel complet de ces softs ActSip-H et ActGraph. Actsip-H Démarrez le programme en tapant < H >. (ou, pour Actgraph, <G>) Notez les informations données dans la fenêtre de bienvenue. Appuyez sur F1 pour obtenir de l’aide lorsque vous êtes dans le programme et <Alt>+F1 pour obtenir de l’aide en mode « connecté ». Appuyez ensuite sur <Enter> et vous aurez la fenêtre suivante à l’affichage : Démarrage System Program Allocation Printout Files Communication Setup │ │ │ │ ╔════════════ No project was specified ════════════╗ │ ║Load project from file ║ │ ║Load project from PLC ║ │ ║New project, go to setup menu ║ │ ╚══════════════════════════════════════════════════╝ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ DRAW mode (0000) OFFLINE H-200 Intern │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ 7.5 Ks Choisissez parmi les alternatives "Charger projet depuis fichier", "Charger projet depuis PLC" et "Nouveau projet". Si l’alternative ”Nouveau projet " est choisie, vous serez dirigé vers le menu de configuration de l’automate. Par cet écran, vous pourrez choisir le type de CPU, le type de mémoire, la configuration des entrées et sorties etc. Si l’automate est connecté via le port série, vous pourrez appuyer sur <Enter> lorsque le curseur est sur ” Read PLC- Setup” pour recevoir toutes les informations relatives au PLC automatiquement. ATTENTION : Ce système de configuration automatique est possible sans restriction pour les automates H300-H2002. Pour la série HB, vous ne recevrez que les informations relatives au module de base (HB20-HB64) mais pas les informations concernant les extensions qui devront être complétées manuellement. Pour la série H200-H252, cette possibilité de lecture automatique n’est possible que dans le cas où l’automate a déjà été configuré au préalable; dans le cas contraire, il faudra procéder manuellement à la configuration du système. Copyright Actron AB 1994 93 Programmation, la pratique Configuration du PLC System Program Allocation Printout Files Communication Setup │ │ │ ╔═══════════════════════════ PLC setup ════════════════════════════╗ │ │ ║Read PLC configuration ║ │ │ ║CPU type H-250 ║ │ │ ║Memory type Intern 7.5 Ks ║ │ │ ║Capacity HIFLOW (steps) 00000 HILADDER 07552 ║ │ │ ║I/O assignment ║ │ │ ║Link parameters 1 Top=* End=* ║ │ │ ║Link parameters 2 Top=* End=* ║ │ │ ║Retentive area ║ │ │ ║Project name ║ │ │ ║Run conditions ║ │ │ ║Run control input * ║ │ │ ║Password * ║ │ │ ║Max scan time [ms] 100 ║ │ │ ║Communication setup ║ │ │ ╚══════════════════════ Press <F1> for HELP ═══════════════════════╝ │ │ │ │ │ │ │ │ │ │ │ │ │ DRAW mode (0000) OFFLINE H-200 Intern 7.5 Ks Lors d’une configuration manuelle, l’écran ressemblera à la figure ci-dessous : Exemple : module LINK Configuration des cartes d’entrées et sorties System Program Allocation Printout Files Communication Setup ╔══════════════════════════════════════════════════════════════════════════════╗ ║ Base/exp I/O Assignment ┌─ PgDn=More ─┐║ ║ Points: 208 │0 = W IO 4/4W│║ ║ Slot: 0 1 2 3 4 5 6 7 8 9 A │1 = INTERRUPT│║ ║┌──────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┐│2 = REMOTE │║ ║│Unit 0│ X16│ X16│ Y16│ Y16│ X8W│ X16│LINK│ │ │ │ ││3 = CPU LINK │║ ║│ 1│ │ │ │ │ │ │ │ │ │ │ ││4 = COMM │║ ║│ 2│ │ │ │ │ │ │ │ │ │ │ ││5 = BASIC │║ ║│ 3│ │ │ │ │ │ │ │ │ │ │ ││6 = GPIB │║ ║│ 4│ │ │ │ │ │ │ │ │ │ │ ││7 = I/O 16/16│║ ║│ 5│ │ │ │ │ │ │ │ │ │ │ ││8 = I/O 16/32│║ ║│ 6│ │ │ │ │ │ │ │ │ │ │ ││9 = I/O 32/16│║ ║│ 7│ │ │ │ │ │ │ │ │ │ │ ││Q = I/O 32/32│║ ║│ 8│ │ │ │ │ │ │ │ │ │ │ ││W = FUN0 5/3W│║ ║│ 9│ │ │ │ │ │ │ │ │ │ │ ││E = FUN1 3/5W│║ ║└──────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┘│R = FUN2 6/2W│║ ║ SPACE = Toggle Standard/Remote │T = FUN3 2/6W│║ ║ Arrows = Move │Y = FUN4 7/1W│║ ║ Numbers = Select module │U = FUN5 1/7W│║ ║ INS = Copy real assignment │I = FUN6 2/2W│║ ║ ESCAPE = Leave └─────────────┘║ ║ ║ ╚════════════════════════════ Press <F1> for HELP ═════════════════════════════╝ DRAW mode (0000) OFFLINE H-200 Intern 7.5 Ks Par cet écran, vous pouvez choisir les cartes pour chaque emplacement du rack parmi la liste donnée à gauche (appuyez F1 pour avoir le mode de configuration de toutes les cartes disponibles pour les PLC série H). Dans l’exemple ci-dessus, des cartes de 16 entrées ont été sélectionnées pour les emplacements 0, 1 et 5, des cartes de 16 sorties pour les emplacements 2 et 3, une carte de 8 mots d’entrée (comme une carte analogique) pour l’emplacement 4 et une carte réseau pour l’emplacement 6. Appuyez sur F1 pour obtenir de l’aide. Une liste de toutes les cartes disponibles apparaîtra avec la manière de les configurer. 94 Copyright Actron AB 1994 Programmation, la pratique Configuration des mémoires sauvegardées ou non et des variables réseau System Program Allocation Printout Files Communication Setup │ │ │ ╔═══════════════════════════ PLC setup ════════════════════════════╗ │ │ ║Read PLC configuration ║ │ │ ║CPU type H-250 ║ │ │ ║Memory type Intern 7.5 Ks ║ │ │ ║Capacity HIFLOW (steps) 00000 HILADDER 07552 ║ │ │ ║I/O assignment ║ │ │ ║Link parameters 1 Top=* End=* ║ │ │ ║Li╔════════════ Retentive area ════════════╗nd=* ║ │ │ ║Re║R Top=0200 End=0300 ║ ║ │ │ ║Pr║WR Top=0100 End=0200 ║ ║ │ │ ║Ru║WM Top=* End=* ║ ║ │ │ ║Ru║T/C Top=0100 End=0511 ║ ║ │ │ ║Pa║DIF Top=* End=* ║ ║ │ │ ║Ma║DFN Top=* End=* ║ ║ │ │ ║Co╚════════════════════════════════════════╝ ║ │ │ ╚══════════════════════ Press <F1> for HELP ═══════════════════════╝ │ │ │ │ │ │ │ │ │ │ │ │ │ DRAW mode (0000) OFFLINE H-200 Intern 7.5 Ks Par les points « Link Parameters » vous pouvez définir les zones mémoire réseau utilisées lors de la communication d’informations entre CPUs. La configuration des zones mémoire sauvegardées ou non en cas de panne de courant se fait également ici. La zone ”Top” indique le début de la zone sauvegardée tandis que ”End” en indique la fin. Lorsque la configuration est terminée, appuyez sur <Esc> pour pouvoir commencer la programmation. La Barre d’état dans le bas de l’écran vous donne des informations sur la configuration actuelle de votre PLC. DRAW mode (0000) Nombre de blocs dans votre programme Mode d’édition courant : - Draw pour dessiner - Clear pour effacer - (Move pour se déplacer) H-250 OFFLINE Etat ON-line (PLC connecté) ou OFF-line (PLC non connecté) Intern Type de CPU 7.5 Ks Type de mémoire Vous vous trouvez maintenant sur l’écran de dessin, l’endroit où votre programme sera créé. A partir de cet écran, vous pourrez toujours atteindre la barre de menu dans le haut de l’écran (menus déroulants) en appuyant sur <Esc>. System Program Allocation Printout Files Communication Setup Vous aurez également accès à certaines options telles que Search (Recherche) ou d’autres outils dans le bas de l’écran grâce à l’appui sur <F2>. Mark Search ACTTERM Copyright Actron AB 1994 Hor-exp Ver-exp Goto + comm - comm Erase comm 95 Programmation, la pratique Autres options System Program │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ DRAW mode Allocation Printout Files (0000) OFFLINE Communication Setup ┌──────────────────┐ │PC (Computer) │ │PLC │ │Printout │ │Communication │ │Ladder programming│ └──────────────────┘ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ H-250 Intern 7.5 Ks Si le programme ActSip/ActGraph est démarré pour la première fois, il sera peut-être nécessaire de configurer le PC et la Communication; dans ce cas, appuyez sur <Esc> et choisissez le point ”Setup” puis descendez sur le choix ”PC (Computer) ou ”Communication”. Attribution des étiquettes aux variables System Program │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ DRAW mode Allocation Printout Files ┌───────────────────┐ │Enter/Change │ │Allocation pointers│ │Move │ │Exchange │ │Print │ │Print packed │ └───────────────────┘ (0000) OFFLINE Communication H-250 Setup Intern │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ 7.5 Ks Si l’utilisation de certaines entrées et sorties est décidée au départ (par exemple, boutons Start et Stop déjà connectés aux entrées X0 et X1) choisissez le menu ”Allocation” et ensuite ”Enter/Change” pour coller une étiquette à ces entrées et sorties. Par le même menu ”Allocation” vous pourrez déplacer ou échanger des adresses (par exemple, si une carte d’E/S est déplacée). Entrée des étiquettes et commentaires System Program Allocation Printout Files Communication Setup │ │ ┌────────────────────── Allocation ───────────────────────┐ │ │ X00000 PHOTO SW1 Photo switch before conveyor 1 │ │ │ X00001 IND SENS2 Metal sensor at input feeder │ │ │ X00002 START BUT Panel start button │ │ │ X00003 STOP BUT Panel stop button │ │ │ X00004 │ │ │ X00005 │ │ │ X00006 │ │ │ X00007 │ │ │ X00008 │ │ │ X00009 │ │ │ X00010 │ │ │ X00011 │ │ │ X00012 │ │ │ X00013 │ │ │ X00014 │ │ │ X00015 │ │ └─────────────────────────────────────────────────────────┘ │ │ │ │ DRAW mode (0000) OFFLINE H-250 Intern │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ 7.5 Ks Introduisez, face à chaque variable utilisée, une ”étiquette ”, ou ”Symbole”, d’un maximum de 10 caractères. Cette étiquette pourra ensuite être utilisée à la place de l’adresse physique pendant la programmation. Vous pouvez également introduire un commentaire (maximum 30 caractères) pour documenter ces variables. 96 Copyright Actron AB 1994 Programmation, la pratique ¦ ¦ ¦ Address ¦ X00000 Short com. Long comment ¦ PHOTO SW 1 Photo switch in front of feeder 1 ¦ ¦ ¦ Tout est maintenant prêt pour commencer la programmation. Vous utiliserez pour cela les touches de fonctions (<F1> à <F10>) qui ont la signification suivante dans le software ActSip-H : Word monitor Debug Redraw Screen Draw/ /Erase Help ACT (Extra) Monitor Monitor Start ON OFF PLC Show ShortCom /Address Stop PLC ONLINE OFFLINE RES +<Alt> +<Shift> SET Pour dessiner un bloc de contacts : Utilisez les touches de fonction pour dessiner les contacts, sorties, etc. Vous devrez aussi utiliser les touches de déplacement curseur (flèches) pour tracer ou effacer des lignes : • soit vous pourrez choisir le mode d’édition (voir description de la barre d’état) en appuyant sur la barre d’espacement une ou plusieurs fois pour sélectionner le mode DRAW, CLEAR ou MOVE. • soit vous choisirez le mode DRAW et utiliserez les touches de déplacement seules pour vous déplacer ou en combinaison avec la touche <Shift/Majuscule> pour dessiner. • soit votre PC permet de tracer des lignes en appuyant <Alt> + flèche, d’effacer des lignes et des contacts en utilisant <Ctrl> + flèche et de vous déplacer en appuyant simplement sur les flèches. Pour notre premier exemple, nous allons créer un circuit marche/arrêt avec auto-maintien et avec une cellule photo-électrique intervenant comme condition supplémentaire pour la mise en marche . Dessiner un bloc de contacts System Program │START PHOTO │ BUT SW1 ├──┤ ├────┤ ├─ │X00002 X00000 │X00002 X00000 │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ DRAW mode Allocation Printout Files (0000) OFFLINE Communication H-250 Setup Intern │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ 7.5 Ks Démarrez à partir de la ligne verticale à gauche; appuyez sur la touche de fonction correspondant au symbole du premier contact et introduisez l’adresse (X2) ou l’étiquette ”START BUT”. Introduisez ensuite le deuxième contact en série avec le premier en répétant la procédure Copyright Actron AB 1994 97 Programmation, la pratique Allocation automatique d’étiquettes System Program Allocation Printout Files Communication Setup │START PHOTO ││ │ BUT SW1 ││ ├──┤ ├────┤ ├─┬ ││ │X00002 X00000│ ││ │ │ ││ │START │ ││ │ MEM │ ││ ││ ├──┤ ├── │╔═ Short Comment/Addr. ═╗ │ │║START MEM ║ │ ╔════════════════════════════ Automatic allocation ════════════════════════════╗ ║START MEM ║ ║M0000 DX DY DL DM DR ║ ║ WX WY WL WM WR TC ║ ║ X Y L MM R DIF DFN MCS MCR TD SS WDT MS TMR CU RCU CTU CTD CT CL ║ ║───────────────────────────────────────┬──────────────────────────────────────║ ║<F2> Allocation pointer: M0000 │Data area, Bit ║ ╚══════════════════════════════════════════════════════════════════════════════╝ │ │ │ │ │ │ │ │ │ │ DRAW mode (0000) OFFLINE H-250 Intern 7.5 Ks Tracez une ligne descendante au moyen <Shift>+<flèche bas > (ou <Alt>+<flèche bas >). allez à l’extrême droite pour commencer la branche parallèle. Même si l’étiquette ”START MEM” n’existe pas encore, nous pouvons introduire malgré tout cette étiquette pour le contact dessiné sur la branche parallèle. Le programme va alors ouvrir la fenêtre d'étiquetage automatique pour vous demander à quelle adresse il doit attribuer l’étiquette ”START MEM”. Par le biais de cette fenêtre, vous pourrez choisir différents types de variable. Le système ne vous proposera que les adresses disponibles, c’est à dire les adresses existantes dans votre automate mais qui n’ont pas encore reçu d’étiquette. Grâce à cela, il est impossible d’utiliser deux fois la même variable ce qui est souvent source d’erreur. Acceptons d’attribuer l’étiquette "START MEM” à l’adresse M0 proposée par le système puis appuyez sur <Enter>. Complétez le bloc System Program Allocation Printout Files │ │START PHOTO STOP START │ BUT SW1 BUT MEM ├──┤ ├────┤ ├─┬──┤/├────( )─ │X00002 X00000│ │ │ │START │ │ MEM │ ├──┤ ├────────┘ │M0000 │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ DRAW mode (0000) OFFLINE Communication Setup H-250 Intern │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ 7.5 Ks Dessinez enfin le reste du bloc en utilisant la même méthode. 98 Copyright Actron AB 1994 Programmation, la pratique Insérez la ligne dans votre projet System Program Allocation Printout Files Communication Setup │START PHOTO STOP START │ │ BUT SW1 BUT MEM │ ├──┤ ├────┤ ├─┬──┤/├─────────────────────────────────────────────────────( )─┤ │X00002 X00000│X00003 M0000 │ │ │ │ │START │ │ │ MEM │ │ ├──┤ ├────────┘ │ │M0000 │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ DRAW mode 0001 (0001) OFFLINE H-250 Intern 7.5 Ks Durant le traçage du schéma, le circuit est affiché en vidéo inverse pour montrer que ce bloc ne fait pas encore partie intégrante de votre projet. Lorsque le bloc vous convient, appuyez sur <Ins>. Il sera alors étudié et, si aucune erreur n’apparaît, sera mémorisé dans le programme. Dans le même temps, l’affichage est mis à jour puisque le bloc n’est plus en vidéo inverse et la sortie a été repoussée contre la marge droite. Vous pouvez aussi remarquer que la ligne d’état dans le bas de l’écran indique qu’il y a une ligne de plus dans votre projet. Copyright Actron AB 1994 99 Programmation, la pratique Modification d’un bloc existant: Nous allons, par exemple, ajouter un contact comme condition supplémentaire pour l’enclenchement de la variable M0. . Expansion horizontale System Program Allocation Printout Files Communication Setup │START PHOTO STOP START │ │ BUT SW1 BUT MEM │ ├──┤ ├────┤ ├─┬──┤/├─────────────────────────────────────────────────────( )─┤ │X00002 X00000│X00003 M0000 │ │ │ │ │START │ │ │ MEM │ │ ├──┤ ├────────┘ │ │M0000 │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Mark Search Hor-exp Ver-exp Goto + comm - comm Erase comm ACTTERM Positionnez le curseur à l’endroit où l’expansion doit être opérée pour pouvoir ajouter ce contact en série. Appuyez sur <F2> et la barre d ’état est remplacée par un menu composé de plusieurs alternatives. Modification du bloc System Program Allocation Printout Files Communication Setup │START IND S PHOTO STOP START │ │ BUT ENS2 SW1 BUT MEM │ ├──┤ ├────┤ ├────┤ ├─┬──┤/├──────────────────────────────────────────────( )─┤ │X00002 X00001 X00000│X00003 M0000 │ │ │ │ │START │ │ │ MEM │ │ ├──┤ ├───────────────┘ │ │M0000 │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ DRAW mode 0001 (0001) OFFLINE H-250 Intern 7.5 Ks Choisissez "Hor-Exp" (Expansion Horizontale) au moyen de flèches gauche ou droite ou bien appuyez juste sur "H" qui est le premier caractère de l'option à atteindre. Maintenant un espace a été inséré, espace que nous allons pouvoir remplacer par le contact à ajouter. Notez que, lorsque le bloc est modifié, le changement ne fait pas encore partie de votre projet (il apparaît en vidéo inverse); vous devez encore pousser sur <Ins> ou <*> pour mettre à jour définitivement votre programme. Si, par contre, vous décidez de ne pas enregistrer cette mise à jour, poussez sur <F3> (Redraw) pour retrouver le bloc comme avant modification. 100 Copyright Actron AB 1994 Programmation, la pratique Contact comparatif Comparaison System Program Allocation Printout Files Communication Setup │START IND S PHOTO STOP START │ │ BUT ENS2 SW1 BUT MEM │ ├──┤ ├────┤ ├────┤ ├─┬──┤/├──────────────────────────────────────────────( )─┤ │X00002 X00001 X00000│X00003 M0000 │ │ │ │ │START │ │ │ MEM │ │ ├──┤ ├───────────────┘ │ │M0000 │ │ │ │START ┌ ┐ │ │ MEM │TEMPERATURE │ │ ├──┤ ├──┤ ├ │ │M0000 │ │ │ │ └ ┘ │ À │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ DRAW mode (0001) OFFLINE H-250 Intern 7.5 Ks Continuez avec le bloc suivant. Lorsque la machine est démarrée et si la température est inférieure à 30° C, la sortie "HEAT” va être enclenchée. Commencez par tracer le contact ”START MEM” avec, en série, un contact comparatif que vous pourrez dessiner en appuyant sur "F7". Ecrivez ”TEMPERATURE” et attribuez cette étiquette au premier mot d'entrée de la carte analogique (adresse WX40). Bloc comparatif System Program Allocation Printout Files Communication Setup │START IND S PHOTO STOP START │ │ BUT ENS2 SW1 BUT MEM │ ├──┤ ├────┤ ├────┤ ├─┬──┤/├──────────────────────────────────────────────( )─┤ │X00002 X00001 X00000│X00003 M0000 │ │ │ │ │START │ │ │ MEM │ │ ├──┤ ├───────────────┘ │ │M0000 │ │ │ │START ┌ ┐ HEAT │ │ MEM │TEMPERATURE WX0040│ │ ├──┤ ├──┤ < ├─────────────────────────────────────────────( )─┤ │M0000 │30 │ Y00200│ │ └ ┘ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ DRAW mode 0002 (0002) OFFLINE H-250 Intern 7.5 Ks Un boite va apparaître vous proposant les différents opérateurs de comparaison disponibles. Choisissez ”<” (plus petit que) et entrez ensuite la constante ”30” comme deuxième composante de la comparaison. Dessinez ensuite la sortie ”HEAT” (Y200) de la même façon que précédemment. Copyright Actron AB 1994 101 Programmation, la pratique Expressions arithmétiques Programmons maintenant le dernier bloc qui contiendra une boite arithmétique ainsi qu'un contact front montant. Lorsque PHOTO SW 1 passe à 1, un registre va être incrémenté de 7 et le résultat apparaîtra sur un afficheur connecté aux 16 bornes de la première carte de sortie. Dans le même moment, un autre registre va être décalé d'une position vers la droite. Conditions d'entrée dans le bloc arithmétique System Program Allocation Printout Files Communication Setup │START IND S PHOTO STOP START │ │ BUT ENS2 SW1 BUT MEM │ ├──┤ ├────┤ ├────┤ ├─┬──┤/├──────────────────────────────────────────────( )─┤ │X00002 X00001 X00000│X00003 M0000 │ │ │ │ │START │ │ │ MEM │ │ ├──┤ ├───────────────┘ │ │M0000 │ │ │ │START ┌ ┐ HEAT │ │ MEM │TEMPERATURE WX0040│ │ ├──┤ ├──┤ < ├─────────────────────────────────────────────( )─┤ │M0000 │30 │ Y00200│ │ └ ┘ │ │PHOTO EDGE1 EDGE1 │PHOTO ││ SW1 ││ SW1 ││ ├──┤ ├────┤ ├────┤ ├─ ├─ ├──┤ ││ │X00000 DIF0 DIF0 │X00000 ││ │ │ │ │ │ │ │ │ DRAW mode (0002) OFFLINE H-250 Intern 7.5 Ks Le contact Photo Sw1 est connecté en série avec un contact front montant (variable DIF). Appuyez ensuite sur le symbole de boite arithmétique ( <Shift>+F7 ) et une boite vide apparaît. Choix de l'instruction System Program Allocation Printout Files Communication Setup │┌────────────────────────┐ START │ ││ == S* S/ │ MEM │ ├│ + * / │──────────────────────────────────────────────( )─┤ ││ B+ BB* B/ │3 ┌──────────────────────────────────────────────┐│ ││ AND OR R │ │ ││ ││ == <> < <= │ │ ││ ││ S== S<> S< S<= │ │ ││ ├│ SHR SHL ROR ROL │ │ ││ ││ LSR LSL BSR BSL │ │ ││ ││ WSHR WSHL WBSR WBSL │ │ ││ ││ MOV COPY XCG │┐ │ ││ ││ BCD BIN DECO ENCO ││ │ ││ ├│ SEG SQR BCU SWAP │├─│ │┤ ││ FIFIT FIFWR FIFRD FUN ││ │ ││ ││ BSET BRES BTS NOT │┘ │ ││ ││ ABS SGET EXT NEG │ │ ││ ││ JMP CJMP LBL │ │ ││ ├│ END CEND FOR NEXT │ │ ││ ││ CAL SB RTS START│ │ ││ ││ INT RTI RSRV FREE │ │ ││ ││ UNIT DIST ADRIO ADRPR│ │ ││ ││ TRNS RECV QTRNS QRECV│ │ ││ │└────────────────────────┘ │ ││ DRAW mode (00└─────────── <Space> toggles window ───────────┘ Les instructions les plus communes ( =, +, -, etc.) peuvent être sélectionnées directement après avoir tapé le nom de la variable. Mais, si vous désirez obtenir la liste complète des instructions disponibles, appuyez sur la <barre espacement> et cette liste apparaîtra du côté gauche de l'écran. A partir de cette liste, vous pouvez sélectionner l'instruction souhaitée. Choisissez "+" en déplaçant le curseur sur cette instruction et en appuyant ensuite sur <Enter> ou juste en tapant "+". 102 Copyright Actron AB 1994 Programmation, la pratique Boite arithmétique System Program Allocation Printout Files Communication Setup │START IND S PHOTO STOP START │ │ BUT ENS2 SW1 BUT MEM │ ├──┤ ├────┤ ├────┤ ├─┬──┤/├──────────────────────────────────────────────( )─┤ │X00002 X00001 X00000│X00003 ┌──────────────────────────────────────────────┐│ │ │ │ d = s + s ││ │START │ │ ││ │ MEM │ │ ││ ├──┤ ├───────────────┘ │ ││ │M0000 │ ││ │ │ ││ │START ┌ ┐ │ ││ │ MEM │TEMPERATURE WX0040│ │ ││ ├──┤ ├──┤ < ├─│ │┤ │M0000 │30 │ │ ││ │ └ ┘ │ ││ │PHOTO EDGE1 │ ││ │ SW1 │ ││ ├──┤ ├────┤ ├─ │ ││ │X00000 DIF0 │ ││ │ │ ││ │ │ ││ │ │ ││ │ │ ││ DRAW mode (00└─────────── <Space> toggles window ───────────┘ Tapez l'adresse qui va recevoir le résultat de la somme (”d” pour destination). Cette adresse sera, dans le cas présent, le mot de sortie (WY20). Appelons ce mot ”DISPLAY”. Vient ensuite l'adresse du premier terme de la somme. Nommons-le REGISTER1 et attribuons cette étiquette à l'adresse WR0. Le second terme est la constante 7. Ensuite, retournons à la liste de sélection des instructions en appuyant sur la <barre d'espacement>. Choisissez l'instruction ”SHR”. Tapez ”POSITION” pour ”d” et donnez à ”n” la valeur 1 (pour décaler de 1 position à droite à chaque passage dans la boite). Pressez <Ins>. La boite reprend son format d'origine mais le circuit lui-même n'est pas encore inséré dans le projet. Poussez donc une deuxième fois sur <Ins>. Affichage des adresses ou des étiquettes System Program Allocation Printout Files Communication Setup │START IND S PHOTO STOP START │ │ BUT ENS2 SW1 BUT MEM │ ├──┤ ├────┤ ├────┤ ├─┬──┤/├──────────────────────────────────────────────( )─┤ │X00002 X00001 X00000│X00003 M0000 │ │ │ │ │START │ │ │ MEM │ │ ├──┤ ├───────────────┘ │ │M0000 │ │ │ │START ┌ ┐ HEAT │ │ MEM │TEMPERATURE WX0040│ │ ├──┤ ├──┤ < ├─────────────────────────────────────────────( )─┤ │M0000 │30 │ Y00200│ │ └ ┘ │ │PHOTO EDGE1 ┌──────────────────────────────────────────────┐│ │ SW1 │DISPLAY = REGISTER1 + 7 ││ ├──┤ ├────┤ ├────────────────┤SHR (POSITION , 1 ) ││ │X00000 DIF0 │ ││ │ └──────────────────────────────────────────────┘│ │ │ │ │ │ │ DRAW mode 0003 (0003) OFFLINE H-250 Intern 7.5 Ks Nous avons maintenant créé un petit programme. En mode d'affichage normal, vous ne pouvez pas voir les adresses des variables intervenant dans la boite arithmétique. Appuyez <F5> pour permuter entre "Affichage des adresses" et "Affichage étiquette". Voyez ci-dessous l'affichage en mode "Adresse". │PHOTO EDGE1 ┌──────────────────────────────────────────────┐│ │ SW1 │WR0000 = WR0001 + 7 ││ ├──┤ ├────┤ ├────────────────┤SHR (WR0002 , 1 ) ││ │X00000 DIF0 │ ││ │ └──────────────────────────────────────────────┘│ Copyright Actron AB 1994 103 Programmation, la pratique Contrôle de syntaxe Menu programme System Program Allocation Printout Files Communication Setup │START ┌────────────────────┐ START │ │ BUT │Ladder │ MEM │ ├──┤ ├──│Instruction │───────────────────────────────────────────( )─┤ │X00002 │ACTTERM-H text │ M0000 │ │ │Other module/program│ │ │START │Syntax check │ │ │ MEM │Info about project │ │ ├──┤ ├──│Delete block(s) │ │ │M0000 │Undo │ │ │ │New project │ │ │START └────────────────────┘ HEAT │ │ MEM │TEMPERATURE WX0040│ │ ├──┤ ├──┤ < ├─────────────────────────────────────────────( )─┤ │M0000 │30 │ Y00200│ │ └ ┘ │ │PHOTO EDGE1 ┌──────────────────────────────────────────────┐│ │ SW1 │DISPLAY = REGISTER1 + 7 ││ ├──┤ ├────┤ ├────────────────┤SHR (POSITION , 1 ) ││ │X00000 DIF0 │ ││ │ └──────────────────────────────────────────────┘│ │ │ │ │ │ │ DRAW mode 0003 (0003) OFFLINE H-250 Intern 7.5 Ks Le contrôle de syntaxe du programme peut être commandé à partir du menu "Program". Vous pourrez aussi, grâce à ce menu déroulant : • introduire des informations concernant votre projet, informations qui apparaîtront dans le cartouche des feuilles lors de l'impression • permuter entre la programmation Ladder et la programmation en mnémonique • passer à un autre module tel que le software ActGraf • détruire une partie du projet actuel ou en commencer un nouveau Jusqu'à présent, nous avons travaillé OFF-Line. Passons maintenant en mode ON-Line pour transférer et tester le programme dans le PLC. Commencez par connecter le PLC au port série de votre ordinateur et vérifiez par le menu ”SetupCommunication” que la configuration est correcte. Menu communication System Program Allocation Printout Files Communication Setup │START IND S PHOTO STOP ┌───────────────────────┐START │ │ BUT ENS2 SW1 BUT │To PLC │ MEM │ ├──┤ ├────┤ ├────┤ ├─┬──┤/├───────────────────│From PLC │──( )─┤ │X00002 X00001 X00000│X00003 │Verify against PLC │M0000 │ │ │ │ACTTERM-H text to PLC │ │ │START │ │Monitor PLC │ │ │ MEM │ │Trace/Trigg │ │ ├──┤ ├───────────────┘ │PLC status │ │ │M0000 │Set PLC clock │ │ │ │Data memory transfer │ │ │START ┌ ┐ │Force free occupation │HEAT │ │ MEM │TEMPERATURE WX0040│ │Clear PLC │ │ ├──┤ ├──┤ < ├──────────────────│Clean-up Communications│──( )─┤ │M0000 │30 │ │(Terminal) │Y00200│ │ └ ┘ │Setup │ │ │PHOTO EDGE1 ┌────────────────└───────────────────────┘─────┐│ │ SW1 │DISPLAY = REGISTER1 + 7 ││ ├──┤ ├────┤ ├────────────────┤SHR (POSITION , 1 ) ││ │X00000 DIF0 │ ││ │ └──────────────────────────────────────────────┘│ │ │ │ │ │ │ DRAW mode 0003 (0003) OFFLINE H-250 Intern 7.5 Ks Allez ensuite dans le menu configuration, menu qui vous permet : • de transférer un projet de ou vers le PLC • de créer une boite de visualisation où les variables que vous sélectionnerez seront affichées ou modifiées durant l'exécution du programme • d'afficher l'état de l'automate, de ses régistres d'erreur pour simplifier le dépannage • de mettre à jour l'horloge temps réel (RTC) de l'automate • de transférer tout ou partie des variables internes pour enregistrement, modifications... Transférez le projet vers le système; le programme et tous les paramètres sont maintenant dans la mémoire de l'automate. 104 Copyright Actron AB 1994 Programmation, la pratique Programmation "En Ligne" Mettez vous "En Ligne" en appuyant sur <Alt>+F9 Démarrez le PLC en poussant <Alt>+F7 Enclenchez la visualisation (Monitoring) par <Alt>+F5 (Il existe un chemin plus court pour y arriver : appuyez simplement sur <Alt>+F5, ceci va réaliser les trois manipulations en une car c'est celle de "niveau hiérarchique" le plus élevé) Il est maintenant possible de programmer "En Ligne". Les modifications seront effectuées de la même manière qu'en mode "Off Line" mais, lorsque la mise à jour sera enregistrée par <Ins>, l'automate suspendra la scrutation durant un très petit instant pour la prendre en compte, les sorties et variables internes gardent leur valeur durant ce laps de temps. Visualisation System Program Allocation Printout Files Communication Setup │START IND S PHOTO STOP START │ │ BUT ENS2 SW1 BUT MEM │ ──┤/├───────────────────────────────────────────( )─ )─┤ ┤ ├────┤ ├──── ├─┬──┤/├──────────────────────────────────────────────( ├──┤ ├────┤ │X00002 X00001 X00000│X00003 M0000 │ │ │ │ │START │ │ │ MEM │ │ ├──┤ ├───────────────┘ │ │M0000 │ │ │ │START ┌ ┐ HEAT │ │ MEM │TEMPERATURE WX0040│ │ ├──┤ ├──┤ < ├─────────────────────────────────────────────( )─┤ │M0000 │30 │ Y00200│ │ └ ┘ │ │PHOTO EDGE1 ┌──────────────────────────────────────────────┐│ │ SW1 │DISPLAY = REGISTER1 + 7 ││ ├──┤ ├────┤ ├────────────────┤SHR (POSITION , 1 ) ││ │X00000 DIF0 │ ││ │ └──────────────────────────────────────────────┘│ │ │ │ │ │ │ DRAW mode 0003 (0003) ON LINE RUN H-250 Intern 7.5 Ks Maintenant, le programme peut être vérifié et testé en montrant à l'écran l'état des variables internes et externes (les contacts en vidéo inverse sont passants ou actifs). Visualisation : La fonction principale de la visualisation est de montrer à l'écran l'état du diagramme ladder. La recherche d'erreur s'en trouve facilitée puisque tous les contacts passants apparaissent en vidéo inverse. Visualisation de boites arithmétiques : La visualisation des valeurs intervenant dans les boites arithmétiques est possible en appuyant sur <Alt>+<F3>. Une première pression vous montrera les valeurs en décimal, une seconde, en hexadécimal et une troisième réaffichera les adresses ou étiquettes. │PHOTO EDGE1 ┌──────────────────────────────────────────────┐│ │ SW1 │ 332 = 325 + 7 ││ ├──┤ ├────┤ ├────────────────┤SHR ( 10 , 1 ) ││ │X00000 DIF0 │ ││ │ └──────────────────────────────────────────────┘│ │PHOTO EDGE1 ┌──────────────────────────────────────────────┐│ │ SW1 │H014C = H0145 + H0007 ││ ├──┤ ├────┤ ├────────────────┤SHR ( H000A , H0001 ) ││ │X00000 DIF0 │ ││ │ └──────────────────────────────────────────────┘│ Vous pouvez aussi modifier l'état de chaque contact en appuyant sur <1> ou <0> lorsque le curseur se trouve sur un contact ou introduire une nouvelle valeur pour un registre. En appuyant sur <Alt>+F5 une nouvelle fois, vous ferez apparaître la boite de visualisation qui permet d'afficher ou de modifier l'état de variables bit ou mot; cette boite peut être déplacée au moyen des flèches de direction. Copyright Actron AB 1994 105 Programmation, la pratique Enregistrement du projet : Files (store, load etc.) System Program Allocation Printout Files Communication Setup │START IND S PHOTO STOP ┌────────────────────────┐ START │ │ BUT ENS2 SW1 BUT │List projects │ MEM │ ├──┤ ├────┤ ├────┤ ├─┬──┤/├────────────│Load a project from file│────────( )─┤ │X00002 X00001 X00000│X00003 │Store a project in file │ M0000 │ │ │ │Insert macro from file │ │ │START │ │Save macro in file │ │ │ MEM │ │Delete file │ │ ├──┤ ├───────────────┘ │Rename file │ │ │M0000 │Generate EPROM files │ │ │ └────────────────────────┘ │ │START ┌ ┐ HEAT │ │ MEM │TEMPERATURE WX0040│ │ ├──┤ ├──┤ < ├─────────────────────────────────────────────( )─┤ │M0000 │30 │ Y00200│ │ └ ┘ │ │PHOTO EDGE1 ┌──────────────────────────────────────────────┐│ │ SW1 │DISPLAY = REGISTER1 + 7 ││ ├──┤ ├────┤ ├────────────────┤SHR (POSITION , 1 ) ││ │X00000 DIF0 │ ││ │ └──────────────────────────────────────────────┘│ │ │ │ │ │ │ DRAW mode 0003 (0003) OFFLINE H-250 Intern 7.5 Ks Il est recommandé de sauver à plusieurs reprises le projet durant son développement. Utilisez un nom de fichier ou une série de noms qui vous permettent de retrouver facilement la dernière version du projet. Le menu ”Files” vous permet de charger ou sauver un projet, de charger ou sauver une ”Macros” qui est un morceau de programme destiné à être utilisé plusieurs fois et sauvé sur disque sous son propre nom. Choisissez ”Save project in file” et donnez un nom à votre projet. Si vous gérez plusieurs projets sur votre PC, il sera sans doute intéressant d'utiliser un répertoire particulier par projet (”user library”) par le biais du menu ”Setup-PC”. Le classement de vos projets s'en trouvera facilité. Documentation : Insertion de commentaires System Program Allocation Printout Files Communication Setup │* Start cirquit with self hold │ │* │ │* Condition for start: Photo Switch 1 and Inductive sensor 2 │ │* │ │ │ │START IND S PHOTO STOP START │ │ BUT ENS2 SW1 BUT MEM │ ├──┤ ├────┤ ├────┤ ├─┬──┤/├──────────────────────────────────────────────( )─┤ │X00002 X00001 X00000│X00003 M0000 │ │ │ │ │START │ │ │ MEM │ │ ├──┤ ├───────────────┘ │ │M0000 │ │ │ │* Check of heating │ │* Analog input 1 senses that the temperature goes on when │ │* the temperature is below 30 Centigardes │ │ │ │ │ │START ┌ ┐ HEAT │ │ MEM │TEMPERATURE WX0040│ │ ├──┤ ├──┤ < ├─────────────────────────────────────────────( )─┤ DRAW mode 0002 (0003) OFFLINE H-250 Intern 7.5 Ks Pour rendre le programme plus compréhensible, vous pouvez intégrer un commentaire en début de chaque bloc. Positionnez le curseur sur le bloc et poussez sur <Enter>. Une fenêtre s'ouvre et vous permet d'écrire du texte. Les cinq premières lignes seront toujours visibles à l'écran, les lignes suivantes n'apparaîtront que lors de l'édition du texte déjà introduit ou lors de l'impression. Poussez sur <Esc> quand vous aurez terminé. 106 Copyright Actron AB 1994 Programmation, la pratique Impression : Impression System Program Allocation Printout Files Communication Setup │* Start cirquit with self ho┌──────────────────────┐ │ │* │Ladder │ │ │* Condition for start: Photo│Instruction │sensor 2 │ │* │Ladder and Instruction│ │ │ │Ladder and Allocation │ │ │START IND S PHOTO STOP │Allocation │ START │ │ BUT ENS2 SW1 BUT │Allocation packed │ MEM │ ├──┤ ├────┤ ├────┤ ├─┬──┤/├──│PLC Setup │────────────────────( )─┤ │X00002 X00001 X00000│X00003 │Cross reference │ M0000 │ │ │ │Block comments │ │ │START │ │ACTTERM-H texts │ │ │ MEM │ │Setup │ │ ├──┤ ├───────────────┘ └──────────────────────┘ │ │M0000 │ │ │ │* Check of heating │ │* Analog input 1 senses that the temperature goes on when │ │* the temperature is below 30 Centigardes │ │ │ │ │ │START ┌ ┐ HEAT │ │ MEM │TEMPERATURE WX0040│ │ ├──┤ ├──┤ < ├─────────────────────────────────────────────( )─┤ DRAW mode 0002 (0003) OFFLINE H-250 Intern 7.5 Ks Quand le programme est terminé, vous avez la possibilité d'imprimer une documentation au moyen du menu ”Printout”. Commencez par vérifier que la configuration de l'impression est correcte par le menu ”Setup-Printout”. Ensuite, choisissez le type de liste que vous souhaitez. Menu Système : Quand le programme fonctionne, que vous avez sauvé le projet, que vous avez imprimé les listes souhaitées, vous voudrez sans doute (enfin...?) sortir du programme. Sortie System Program Allocation Printout Files Communication Setup ┌──────────────────┐h self hold │ │DOS command │ │ │Exit from Actsip-H│rt: Photo Switch 1 and Inductive sensor 2 │ │About Actsip-H │ │ └──────────────────┘ │ │START IND S PHOTO STOP START │ │ BUT ENS2 SW1 BUT MEM │ ├──┤ ├────┤ ├────┤ ├─┬──┤/├──────────────────────────────────────────────( )─┤ │X00002 X00001 X00000│X00003 M0000 │ │ │ │ │START │ │ │ MEM │ │ ├──┤ ├───────────────┘ │ │M0000 │ │ │ │* Check of heating │ │* Analog input 1 senses that the temperature goes on when │ │* the temperature is below 30 Centigardes │ │ │ │ │ │START ┌ ┐ HEAT │ │ MEM │TEMPERATURE WX0040│ │ ├──┤ ├──┤ < ├─────────────────────────────────────────────( )─┤ DRAW mode 0002 (0003) OFFLINE H-250 Intern 7.5 Ks Par le menu système, vous pouvez sortir du programme mais aussi obtenir des informations sur votre software ActSip-H (N° de version,...) ou sortir temporairement vers le DOS (pour créer un répertoire par exemple) et revenir ensuite au programme. Copyright Actron AB 1994 107 Programmation, la pratique Programmation avec ActGraph Consultez le manuel Adepa (expédié sur demande) pour obtenir une information plus complète sur le Grafcet. Démarrez le programme par <G>. La fenêtre suivante s’affichera à l’écran. Démarrage ╔════════════════════════ ActGraph ═════════════════════════╗ ║ ║ ║ Welcome to the Actron ActGraph development software for ║ ║ Hitachi series J/E/EM/EB/HB/H200/H300+ PLC systems. ║ ║ ║ ║ <F1> is the HELP key. ║ ║ ║ ║ <Alt> + <F1> is the HELP key for ON-LINE and monitor. ║ ║ ║ ║Press <ENTER> ║ ╚═══════════════════════════════════════════════════════════╝ Appuyez sur <Enter> pour arriver dans l’écran de dessin. Vous pouvez commencer la programmation sans décider immédiatement de l’automate qui sera utilisé et faire ce choix une fois que vous aurez les informations nécessaires pour le faire; vous pouvez également sans problème changer d’automate en cours de programmation. Comme, dans le cas présent, nous savons que nous allons utiliser un automate de la série H (CPU H250), nous pouvons le configurer immédiatement. . Allez dans le menu "Setup-PLC". La configuration de l’automate utilisé est identique à celle définie pour la section relative au programme Actsip-H (voir le chapitre précédent). Choisissez "Series H250", mémoire 8 k et la même configuration des E/S. Programmation : Word +<Alt> LINE LINE Help ACT Redraw (Extra) screen Debug Monitor Monitor monitor Branch down Start step up Step Activity cond. Transii Start Stop ON OFF Resetcond. Altern. b h Parallel b h ONPLC Return Boxes OFFPLC +<Shift> j Comme avec ActSip-H vous aurez accès à certaines options telles que Search (recherche) et d’autres outils dans le bas de l’écran grâce à l’appui sur <F2>. Mark 108 Search Hor-exp Ver-exp Goto + comm - comm Erase comm ACTTERM Copyright Actron AB 1994 Programmation, la pratique Etape initiale : ┌──┐ │╔═╧═╗ │║000║ │╚═█═╝ └──┘ +. Off-line Series H $ Appuyez sur <Shift>+F5 afin de créer une étape initiale. Actions: ┌──┐ │╔═╧═╗ │║000║ │╚═╤═╝ └──┘ ╔═══════════════════════════ Actions ═══════════════════════════╗ ║ GREEN LAMP█ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ╚═══════════════════════════════════════════════════════════════╝ +. Off-line Series H $ Poussez sur <Enter> et la boite de dialogue des actions s’ouvre. Copyright Actron AB 1994 109 Programmation, la pratique Introduisez la première action : ┌──┐ │╔═╧═╗ │║000║ │╚═╤═╝ └──┘ ╔═══════════════════════════ Actions ═══════════════════════════╗ ║ GREEN LAMP ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ╔═══════════════════════════════ Allocation ═══════════════════════════════╗ ║GREEN LAMP ║ ║[ Y00200 ] ║ ║ ║ ║Word ║ Output Marker Timer ║Bit Output Counter U/D-Cnt ShiftRg Macro ║ Bit ╚══════════════════════════════════════════════════════════════════════════╝ +. Off-line Series H $ Si l’étiquette n’a pas été définie au préalable, la boite d’attribution automatique est affichée. Choisissez le type et l’adresse de la variable à laquelle l’étiquette doit être attribuée. Appuyez sur <Enter> , la fenêtre d’allocation disparaît et le curseur se place à la gauche du texte ”GREEN LAMP”. Vous pouvez alors sélectionner le type d’action (voir plus loin). Transitions : ┌──┐ │╔═╧═╗┌─────────────┐ │║000╟┤ GREEN LAMP │ │╚═╤═╝└─────────────┘ │ ┼ START BUT └──█ +. Off-line Series H $ Si vous ne voulez pas sélectionner un autre type d’action que le standard, appuyez sur <Enter> jusqu’à ce que la boite "action" soit fermée. Créez une transition en appuyant sur <F6>. Poussez sur <Enter> et introduisez la condition de transition. Cette transition peut être une expression Booléenne où un "+" signifie "opérateur OU" (branchement parallèle) et un "*", "opérateur ET" (branchement série) comme par exemple dans l'expression ”START BUT * PHOTO SW * IND SENS2". Vous verrez plus loin que la transition peut également être le résultat d'une comparaison. 110 Copyright Actron AB 1994 Programmation, la pratique Actions: ┌──┐ │╔═╧═╗┌─────────────┐ │║000╟┤ GREEN LAMP │ │╚═╤═╝└─────────────┘ │ ┼ STA╔═══════════════════════════ Actions ═══════════════════════════╗ │┌─┴─┐ ║ FEEDER 1 ║ ││001│ ║ D CYLINDER 2 D=2.5s ║ │└─┬─┘ ║ S RUN LAMP =1 ║ └──┘ ║ █ ║ ║ ║ ║ ║ ║ ║ ║ ║ ╚═══════════════════════════════════════════════════════════════╝ +. Off-line Series H $ Ecrivez les actions pour cette étape de la même façon que plus haut. Après chaque nouvelle action, le curseur se positionne à la gauche du texte. A cette place, vous pouvez introduire le type d'action souhaitée où : "D" signifie que l'action sera temporisée (Delayed) "L" signifie que l'action sera limitée dans le temps (Limited) "C" signifie que la réalisation de l'action est soumise à une condition "S" signifie que l'action est du type bistable (SET et RESET) "P" signifie que l'action est impulsionnelle (On pour la durée de 1 scrutation) Tapez ”D” et donnez une valeur de temporisation de 2,5 s. ┌──┐ │╔═╧═╗┌─────────────┐ │║000╟┤ GREEN LAMP │ │╚═╤═╝└─────────────┘ │ ┼ START BUT │┌─┴─┐┌──────────────────────┐ ││001├┤ FEEDER 1 │ │└─┬─┘│D CYLINDER 2 [D=2.5s]│ │ │ │+ RUN LAMP │ │ │ └──────────────────────┘ │ ┼ CYL 2 OUT │┌─┴─┐┌────────────┐ ││002├┤ LIFT DOWN │ │└─┬─┘└────────────┘ │ ┼ LIFT LOW │┌─┴─┐┌───────────┐ ││003├┤ FEEDER 1 │ │└─┬─┘└───────────┘ │ ┼ PHOTO SW 2 └──█ +. Off-line Series H $ Continuez de la même façon et construisez le grafcet en alternant une étape, une transition, une étape etc. De cette manière, vous allez créer à l'écran une séquence simple de quelques étapes. Copyright Actron AB 1994 111 Programmation, la pratique Divergence en "OU" (branches alternatives) : Dans la réalité, les séquences grafcet sont rarement de simples séquences toutes droites. Elles font souvent appel à des branches alternatives ou des branches parallèles. Commençons par une branche alternative ou, dans le jargon grafcet, par une divergence en OU, entre les étapes 2 et 3. A B C Placez le curseur sur le pas 1 (après lequel la branche va démarrer) et poussez sur F7. Placez le curseur sur la barre horizontale inférieure et faite là descendre en poussant F4. Positionnez le curseur au début de la nouvelle branche et créez les nouvelles étapes et transitions comme précédemment. ┌──┐ │╔═╧═╗┌─────────────┐ │║000╟┤ GREEN LAMP │ │╚═╤═╝└─────────────┘ │ ┼ START BUT │┌─┴─┐┌──────────────────────┐ ││001├┤ FEEDER 1 │ │└─█─┘│D CYLINDER 2 [D=2.5s]│ │ │ │+ RUN LAMP │ │ │ └──────────────────────┘ │ ├───────────────────────────┐ │ ├───────────────────────────┘ │ ┼ CYL 2 OUT │┌─┴─┐┌────────────┐ ││002├┤ LIFT DOWN │ │└─┬─┘└────────────┘ │ ┼ LIFT LOW │┌─┴─┐┌───────────┐ ││003├┤ FEEDER 1 │ │└─┬─┘└───────────┘ │ ┼ PHOTO SW 2 └──┘ ┌──┐ │╔═╧═╗┌─────────────┐ │║000╟┤ GREEN LAMP │ │╚═╤═╝└─────────────┘ │ ┼ START BUT │┌─┴─┐┌──────────────────────┐ ││001├┤ FEEDER 1 │ │└─┬─┘│D CYLINDER 2 [D=2.5s]│ │ │ │+ RUN LAMP │ │ │ └──────────────────────┘ │ ├───────────────────────────┐ │ ┼ CYL 2 OUT │ │┌─┴─┐┌────────────┐ │ ││002├┤ LIFT DOWN │ │ │└─┬─┘└────────────┘ │ │ ┼ LIFT LOW │ │┌─┴─┐┌───────────┐ │ ││003├┤ FEEDER 1 │ │ │└─┬─┘└───────────┘ │ │ ┼ PHOTO SW 2 │ │ █───────────────────────────┘ └──┘ ┌──┐ │╔═╧═╗┌─────────────┐ │║000╟┤ GREEN LAMP │ │╚═╤═╝└─────────────┘ │ ┼ START BUT │┌─┴─┐┌──────────────────────┐ ││001├┤ FEEDER 1 │ │└─┬─┘│D CYLINDER 2 [D=2.5s]│ │ │ │+ RUN LAMP │ │ │ └──────────────────────┘ │ ├───────────────────────────┐ │ ┼ CYL 2 OUT ┼ PHOTO SW 2 │┌─┴─┐┌────────────┐ ┌─┴─┐┌────────────┐ ││002├┤ LIFT DOWN │ │004├┤ CYL 3 OUT │ │└─┬─┘└────────────┘ └─┬─┘└────────────┘ │ ┼ LIFT LOW ┼ CYL 3 END │┌─┴─┐┌───────────┐ ┌─┴─┐┌────────────┐ ││003├┤ FEEDER 1 │ │005├┤ LIFT DOWN │ │└─┬─┘└───────────┘ └─┬─┘└────────────┘ │ ┼ PHOTO SW 2 ┼ LIFT LOW │ ├───────────────────────────█ └──┘ Divergence en ET (branche parallèle) : Nous allons maintenant créer une divergence en ET qui travaillera en parallèle avec l'étape 1. A B Placez le curseur à l'endroit où la divergence va démarrer c-à-d sur la transition entre l'étape 0 et 1. Poussez sur F8 et un embryon de branche apparaît. Au moyen de la touche F4, poussez vers le bas la partie inférieure de la branche puis créez les étapes et transitions comme précédemment. ┌──┐ │╔═╧═╗┌─────────────┐ │║000╟┤ GREEN LAMP │ │╚═╤═╝└─────────────┘ │ █ START BUT │ ╪═══════════════════════════╤ │ ╪═══════════════════════════╧ │┌─┴─┐┌──────────────────────┐ ││001├┤ FEEDER 1 │ │└─┬─┘│D CYLINDER 2 [D=2.5s]│ │ │ │+ RUN LAMP │ │ │ └──────────────────────┘ │ ├───────────────────────────┐ │ ┼ CYL 2 OUT ┼ PHOTO SW 2 │┌─┴─┐┌────────────┐ ┌─┴─┐┌────────────┐ ││002├┤ LIFT DOWN │ │004├┤ CYL 3 OUT │ │└─┬─┘└────────────┘ └─┬─┘└────────────┘ │ ┼ LIFT LOW ┼ CYL 3 END │┌─┴─┐┌───────────┐ ┌─┴─┐┌────────────┐ ││003├┤ FEEDER 1 │ │005├┤ LIFT DOWN │ │└─┬─┘└───────────┘ └─┬─┘└────────────┘ │ ┼ PHOTO SW 2 ┼ LIFT LOW │ ├───────────────────────────┘ └──┘ ┌──┐ │╔═╧═╗┌─────────────┐ │║000╟┤ GREEN LAMP │ │╚═╤═╝└─────────────┘ │ ┼ START BUT │ ╪═══════════════════════════╤ │┌─┴─┐┌──────────────────────┌─┴─┐┌──────────┐ ││001├┤ FEEDER 1 │006├┤ LIFT UP │ │└─┬─┘│D CYLINDER 2 [D=2.5s]└─┬─┘└──────────┘ │ │ │+ RUN LAMP │ ┼ LIFT HIGH │ │ └──────────────────────┌─┴─┐ │ │ │007│ │ │ └─█─┘ │ ╪═══════════════════════════╧ │ ├───────────────────────────┐ │ ┼ CYL 2 OUT ┼ PHOTO SW 2 │┌─┴─┐┌────────────┐ ┌─┴─┐┌────────────┐ ││002├┤ LIFT DOWN │ │004├┤ CYL 3 OUT │ │└─┬─┘└────────────┘ └─┬─┘└────────────┘ │ ┼ LIFT LOW ┼ CYL 3 END │┌─┴─┐┌───────────┐ ┌─┴─┐┌────────────┐ ││003├┤ FEEDER 1 │ │005├┤ LIFT DOWN │ │└─┬─┘└───────────┘ └─┬─┘└────────────┘ │ ┼ PHOTO SW 2 ┼ LIFT LOW │ ├───────────────────────────┘ └──┘ 112 Copyright Actron AB 1994 Programmation, la pratique Reprise de phases : Finalement, nous allons créer une reprise de phase. Lorsque le carteur inductif "IND SENS 2" est activé avant ”PHOTO SW 2”, après le pas 3, une nouvelle séquence sera enclenchée et ensuite les étapes 2 et 3 seront répétées. A B Placez le curseur sur le pas 3 et poussez sur F9. Tirer ensuite la barre supérieure de la branche avec <Shift>+F4 jusqu'au dessus du pas 2. Créez pour terminer les étapes et transitions sur cette branche de retour. ┌───────┐ │ ╔═╧═╗┌─────────────┐ │ ║000╟┤ GREEN LAMP │ │ ╚═╤═╝└─────────────┘ │ ┼ START BUT │ ╪═══════════════════════════╤ │ ┌─┴─┐┌─────────────────────┐┌─┴─┐┌──────────┐ │ │001├┤ FEEDER 1 ││006├┤ LIFT UP │ │ └─┬─┘│D CYLINDER 2 [D=2.5s]│└─┬─┘└──────────┘ │ │ │+ RUN LAMP │ ┼ LIFT HIGH │ │ └─────────────────────┘┌─┴─┐ │ │ │007│ │ │ └─┬─┘ │ ╪═══════════════════════════╧ │ ├───────────────────────────┐ │ ┼ CYL 2 OUT ┼ PHOTO SW 2 │ ┌─┴─┐┌────────────┐ ┌─┴─┐┌────────────┐ │ │002├┤ LIFT DOWN │ │004├┤ CYL 3 OUT │ │ └─┬─┘└────────────┘ └─┬─┘└────────────┘ │ ┼ LIFT LOW ┼ CYL 3 END │ ┌─┴─┐┌───────────┐ ┌─┴─┐┌────────────┐ │ │003├┤ FEEDER 1 │ │005├┤ LIFT DOWN │ │ └─┬─┘└───────────┘ └─┬─┘└────────────┘ │ ┌────┤ ┼ LIFT LOW │ └────┤ │ │ ┼ PHOTO SW 2 │ │ ├───────────────────────────┘ └───────┘ ┌────────────────────┐ │ ╔═╧═╗┌─────────────┐ │ ║000╟┤ GREEN LAMP │ │ ╚═╤═╝└─────────────┘ │ ┼ START BUT │ ╪═══════════════════════════╤ │ ┌─┴─┐┌─────────────────────┐┌─┴─┐┌──────────┐ │ │001├┤ FEEDER 1 ││006├┤ LIFT UP │ │ └─┬─┘│D CYLINDER 2 [D=2.5s]│└─┬─┘└──────────┘ │ │ │+ RUN LAMP │ ┼ LIFT HIGH │ │ └─────────────────────┘┌─┴─┐ │ │ │007│ │ │ └─┬─┘ │ ╪═══════════════════════════╧ │ ├───────────────────────────┐ │ ┼ CYL 2 OUT ┼ PHOTO SW 2 │ ┌─────────────────┤ ┌─┴─┐┌────────────┐ │ ┼ OUT 4 ┌─┴─┐┌────────────┐ │004├┤ CYL 3 OUT │ │┌─┴─┐┌───────────┐│002├┤ LIFT DOWN │ └─┬─┘└────────────┘ ││008├┤ FEEDER 4 │└─┬─┘└────────────┘ ┼ CYL 3 END │└─┬─┘└───────────┘ ┼ LIFT LOW ┌─┴─┐┌────────────┐ │ ┼ LIFT HIGH ┌─┴─┐┌───────────┐ │005├┤ LIFT DOWN │ │┌─┴─┐┌──────────┐ │003├┤ FEEDER 1 │ └─┬─┘└────────────┘ ││009├┤ LIFT UP │ └─┬─┘└───────────┘ ┼ LIFT LOW │└─┬─┘└──────────┘ │ │ │ ┼ IND SENS 2 │ │ │ └─────────────────┤ │ │ ┼ PHOTO SW 2 │ │ ├───────────────────────────┘ └────────────────────┘ Super conditions : Nous allons maintenant soumettre le fonctionnement du grafcet à une super condition. Celle-ci peut être de deux types : -"Condition d'activité", qui est une condition logique qui active ou désactive le gracet -"Condition de remise à zéro", qui est une condition logique qui, lorsqu'elle est vraie, va remettre à zéro le grafcet et enclencher l'étape initiale. A B Poussez sur <Shift>+F6 et la fenêtre permettant de créer la condition d'activité apparaît. Introduisez la condition et poussez sur <Enter>. Choisissons le bouton ”AUTO” comme condition d'activité ce qui permettra d'avoir un contrôle Auto/Manuel sur le grafcet. La condition est maintenant visible à côté du "A:" au dessus du grafcet. Appuyez sur <Shift>+F7 pour écrire la condition de remise à zéro qui apparaît elle aussi au dessus du grafcet. ┌────────────────────┐ │ ╔═╧═╗┌─────────────┐ │ ║000╟┤ GREEN LAMP │ │ ╚═╤═╝└─────────────┘ │ ┼ START BUT │ ╪═══════════════════════════╤ │ ┌─┴─┐┌──────────────────────┌─┴─┐┌──────────┐ │ │001├┤ FEEDER 1 │006├┤ LIFT UP │ │ └─┬─┘│D CYLINDER 2 [D=2.5s]└─┬─┘└──────────┘ │ │ │+ RUN LAMP │ ┼ LIFT HIGH ╔═════════════════════════ Boolean expression ══════════════════════════╗ ║ActivCond: AUTO ║ ╚═══════════════════════════════════════════════════════════════════════╝ │ ╪═══════════════════════════╧ │ ├───────────────────────────┐ │ ┼ CYL 2 OUT ┼ PHOTO SW 2 │ ┌─────────────────┤ ┌─┴─┐┌────────────┐ │ ┼ OUT 4 ┌─┴─┐┌────────────┐ │004├┤ CYL 3 OUT │ │┌─┴─┐┌───────────┐│002├┤ LIFT DOWN │ └─┬─┘└────────────┘ ││008├┤ FEEDER 4 │└─┬─┘└────────────┘ ┼ CYL 3 END │└─┬─┘└───────────┘ ┼ LIFT LOW ┌─┴─┐┌────────────┐ │ ┼ LIFT HIGH ┌─┴─┐┌───────────┐ │005├┤ LIFT DOWN │ │┌─┴─┐┌──────────┐ │003├┤ FEEDER 1 │ └─┬─┘└────────────┘ ││009├┤ LIFT UP │ └─┬─┘└───────────┘ ┼ LIFT LOW │└─┬─┘└──────────┘ │ │ │ ┼ IND SENS 2 │ │ │ └─────────────────┤ │ │ ┼ PHOTO SW 2 │ │ ├───────────────────────────┘ └────────────────────┘ R:RESTART A:AUTO ┌────────────────────┐ │ ╔═╧═╗┌─────────────┐ │ ║000╟┤ GREEN LAMP │ │ ╚═╤═╝└─────────────┘ │ ┼ START BUT │ ╪═════════════════════ │ ┌─┴─┐┌────────────────── │ │001├┤ FEEDER 1 │ └─┬─┘│D CYLINDER 2 [D=2 │ │ │+ RUN LAMP │ │ └────────────────── │ │ │ │ │ ╪═════════════════════ │ ├───────────────────── │ ┼ CYL 2 OUT │ ┌─────────────────┤ │ ┼ OUT 4 ┌─┴─┐┌────────────┐ │┌─┴─┐┌───────────┐│002├┤ LIFT DOWN │ ││008├┤ FEEDER 4 │└─┬─┘└────────────┘ │└─┬─┘└───────────┘ ┼ LIFT LOW │ ┼ LIFT HIGH ┌─┴─┐┌───────────┐ │┌─┴─┐┌──────────┐ │003├┤ FEEDER 1 │ ││009├┤ LIFT UP │ └─┬─┘└───────────┘ │└─┬─┘└──────────┘ │ │ ┼ IND SENS 2 │ │ └─────────────────┤ │ ┼ PHOTO SW 2 │ ├───────────────────── └────────────────────┘ Copyright Actron AB 1994 113 Programmation, la pratique Boites logiques : Quelquefois, le grafcet n'est pas adapté pour exprimer certaines équations surtout s'il s'agit de pures équations logiques. C'est pour cette raison que les boites logiques sont mises à votre disposition. Ce type de boite permet d'écrire une équation sous la forme d'une expression Booléenne. A B C Poussez sur F10 et choisissez ”Logic Box” puis appuyez sur <Enter>. Ici, la "sortie" de l'expression est écrite du côté gauche. Ensuite, le curseur se positionne à droite et vous pouvez alors introduire l'expression Booléenne. Vous pouvez ainsi introduire plusieurs équations dans une seule boite. Quand toutes les expressions sont écrites, poussez sur <Enter> une fois de plus et la boite sera refermée. Elle apparaîtra à l'écran sous la forme d'un rectangle avec les entrées à gauche et les sorties à droite. Poussez sur <Shift>+F6 et tapez la condition d'activité de la boite logique , dans ce cas ”/AUTO” (ce qui signifie NOT AUTO c-à-d "Manuel"). ─────┐ ╔═╧═╗┌─────────────┐ ║000╟┤ GREEN LAMP │ ╚═╤═╝└─────────────┘ ┼ START BUT ╪══════════════════════════ ┌─┴─┐┌──────────────────────┌ │001├┤ FEEDER 1 │ └─┬─┘│D CYLINDER 2 [D=2.5s]└ │ │+ RUN LAMP │ │ └──────────────────────┌ │ │ │ └ ╪══════════════════════════ ├────────────────────────── ┼ CYL 2 OUT ─────┤ ┌ ┌─┴─┐┌────────────┐ │ ──┐│002├┤ LIFT DOWN │ └ 4 │└─┬─┘└────────────┘ ──┘ ┼ LIFT LOW ┌ ┌─┴─┐┌────────╔═══════════╗ │ ─┐ │003├┤ FEEDER║Graph ║ └ │ └─┬─┘└────────║Logical box║ ─┘ │ ║Action box ║ │ ║Macro box ║ ─────┤ ╚═══════════╝ ┼ PHOTO SW 2 ├────────────────────────── ─────┘ 114 ┌────────┐ │ │ └────────┘ ════════╤ ─────╔═════════════════════════════ Logical box ═ ║LIFT DOWN =PUSHB 1*/LIFT LOW =2.5s║LIFT UP =PUSHB 2*/LIFT HIGH ║ ─────║ ║ ║ ═════║ ─────║ ╚═══════════════════════════════════════════ ┌─┴─┐┌────────────┐ │004├┤ CYL 3 OUT │ └─┬─┘└────────────┘ ┼ CYL 3 END ┌─┴─┐┌────────────┐ │005├┤ LIFT DOWN │ └─┬─┘└────────────┘ ┼ LIFT LOW │ │ │ │ ────────┘ A:/AUTO ┌────────┐ PUSHB 1┤ ├LIFT DOWN LIFT LOW┤ ├LIFT UP PUSHB 2┤ │ LIFT HIGH┤ │ └────────┘ ═══╤ ─┌─┴─┐┌──────────┐ │006├┤ LIFT UP │ ]└─┬─┘└──────────┘ │ ┼ LIFT HIGH ─┌─┴─┐ │007│ └─┬─┘ ═══╧ ───┐ ┼ PHOTO SW 2 ┌─┴─┐┌────────────┐ │004├┤ CYL 3 OUT │ └─┬─┘└────────────┘ ┼ CYL 3 END ┌─┴─┐┌────────────┐ │005├┤ LIFT DOWN │ └─┬─┘└────────────┘ ┼ LIFT LOW │ │ │ │ ───┘ Copyright Actron AB 1994 Programmation, la pratique Boites Macro : Dans certains cas, il est nécessaire de pouvoir programmer une partie de votre projet en utilisant des instructions Ladder. Cette partie peut être introduite dans une boite appelée "Macro". Dans cette boite, vous vous retrouverez dans l'environnement Ladder exactement comme si vous étiez dans le software ActSip-H. Cette macro sera une entité séparée du grafcet qui est sauvée sur disque sous son propre nom ce qui permet de la réutiliser au sein d' un autre projet. A B Poussez F10 et choisissez ”Macro box”. Une boite vide apparaît; incrivez y le nom de la macro (ce nom doit être compatible avec les noms de fichier DOS, sans extension) et appuyez sur <Enter> Maintenant, un écran semblable à celui que vous aviez dans le soft ActSip-H est affiché. Introduisez votre programme ladder de la manière habituelle. Les adresses proposées ici lors de l'allocation automatique sont différentes de celles utilisées dans le programme grafcet : c'est normal puisque la macro est une entité séparée, elle n'a pas connaissance de la structure de l'automate actuellement déterminé. A:/AUTO ┌────────┐ PUSHB 1┤ ├LIFT DOWN LIFT LOW┤ ├LIFT UP PUSHB 2┤ │ LIFT HIGH┤ │ └────────┘ ════════╤ ──────┌─┴─┐┌──────────┐ │006├┤ LIFT UP │ =2.5s]└─┬─┘└──────────┘ │ ┼ LIFT HIGH ──────┌─┴─┐ │007│ └─┬─┘ ════════╧ ────────┐ ┼ PHOTO SW 2 ┌─┴─┐┌────────────┐ │004├┤ CYL 3 OUT │ └─┬─┘└────────────┘ ┼ CYL 3 END ┌─┴─┐┌────────────┐ │005├┤ LIFT DOWN │ └─┬─┘└────────────┘ ┼ LIFT LOW │ │ │ │ ────────┘ C ╒════════╕ │▒CALC1▒▒│ └────────┘ Quand l'écriture de la macro est terminée, poussez sur <Esc>. Vous retournez alors au grafcet et les étiquettes introduites lors de la programmation de la macro sont maintenant définitivement attribuées aux variables mémoires de votre automate. Acceptez ou modifiez les adresses proposées et ensuite la boite Macro est réaffichée à l'écran avec les variables d'entrée à gauche, les sorties à droite. Copyright Actron AB 1994 ======================== CALC2 ============================ │ ┌───────────────────────────────────────┐│ │ │PROD = FACT1 * FACT2 ││ ├────────────────┤WSHR (PROD , 2 ) ││ │ │SGET (RESULT , PROD ) ││ │ └───────────────────────────────────────┘│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ DRAW mode 0001 (0001) OFFLINE A:/AUTO ════════╤ ──────┌─┴─┐┌──────────┐ │006├┤ LIFT UP │ =2.5s]└─┬─┘└──────────┘ │ ┼ LIFT HIGH ──────┌─┴─┐ │007│ └─┬─┘ ════════╧ ────────┐ ┌────────┐ PUSHB 1┤ ├LIFT DOWN LIFT LOW┤ ├LIFT UP PUSHB 2┤ │ LIFT HIGH┤ │ └────────┘ ╒════════╕ FACT1╡▒CALC2▒▒╞PROD FACT2╡▒▒▒▒▒▒▒▒╞RESULT PROD╡▒▒▒▒▒▒▒▒│ └────────┘ 115 Programmation, la pratique Boites Action : Dans d'autres cas, il peut être obligatoire d'entreprendre des calculs ou des actions totalement indépendantes du grafcet. Le troisième type de boite, appelée boite d'action, permet l'introduction de ce type de paramètre. Cette boite sera traitée exactement comme une boite d'action intégrée au grafcet. Poussez sur F10 et choisissez ”Action box”. Une boite vide apparait à l'écran où vous pourrez écrire les opérations arithmétiques intégrant des calculs, des comparaisons ou des équations logiques. A:/AUTO ┌────────┐ PUSHB 1┤ ├LIFT DOWN LIFT LOW┤ ├LIFT UP ╔═══════════════════════════ Actions ═══════════════════════════╗ ║ VALUE1 = COUNTER1*18 ║ ║ ANALOGOUT3 =ANALOGIN2/RESULT+34 ║ ════════║ G = F*H/(I+J)-K*15 ║ ──────┌─║ ║ │0║ ║ =2.5s]└─║ ║ │ ║ ║ ──────┌─║ ║ │0╚═══════════════════════════════════════════════════════════════╝ └─┬─┘ ┌───┴────┐ ════════╧ │ │ ────────┐ └───┬────┘ ┼ PHOTO SW 2 ┌─┴─┐┌────────────┐ │004├┤ CYL 3 OUT │ └─┬─┘└────────────┘ ┼ CYL 3 END ┌─┴─┐┌────────────┐ │005├┤ LIFT DOWN │ └─┬─┘└────────────┘ ┼ LIFT LOW │ │ │ │ ────────┘ +. Off-line Series H $ Quand vous avez terminé, poussez sur <Enter> et la boite sera refermée. Une petite barre verticale au dessus et en dessous de la boite d'action permet de la différencier des autres boites de type logique ou macro. ════════╤ ──────┌─┴─┐┌──────────┐ │006├┤ LIFT UP │ =2.5s]└─┬─┘└──────────┘ │ ┼ LIFT HIGH ──────┌─┴─┐ │007│ └─┬─┘ ════════╧ ────────┐ ┼ PHOTO SW 2 ┌─┴─┐┌────────────┐ │004├┤ CYL 3 OUT │ └─┬─┘└────────────┘ ┼ CYL 3 END ┌─┴─┐┌────────────┐ │005├┤ LIFT DOWN │ └─┬─┘└────────────┘ ┼ LIFT LOW │ │ │ │ ────────┘ +. 116 Off-line A:/AUTO ┌────────┐ PUSHB 1┤ ├LIFT DOWN LIFT LOW┤ ├LIFT UP PUSHB 2┤ │ LIFT HIGH┤ │ └────────┘ ╒════════╕ FACT1╡▒CALC2▒▒╞PROD FACT2╡▒▒▒▒▒▒▒▒╞RESULT PROD╡▒▒▒▒▒▒▒▒│ └────────┘ ┌───┴────┐ │ ╞VALUE1 │ ╞ANALOGOUT3 │ ╞G └───┬────┘ Series H $ Copyright Actron AB 1994 Programmation, la pratique Expressions mathématiques : Les expressions mathématiques (calcul etc.) qui n'utilisent pas directement le jeu d'instruction de l'automate sélectionné peuvent s'écrire simplement soit au sein de boites d'actions, soit au sein d'actions liées au grafcet. Si, par exemple, l'action écrite à côté d'une étape grafcet fait appel à une étiquette ”VALUE1” et que cette étiquette est attribuée à un mot, cette action sera traitée comme une expression mathématique et non comme une action habituelle de type logique. Les symboles suivants peuvent être utilisés : Exemple : C A = B*C/D+E*(F-G)+100 C=TEMP>100*PROG1 Le type d'action ("Pulse", "Conditionnelle"...) peut également être sélectionné comme le montre l'exemple ci-dessus. Expressions comparatives : Toutes les expressions logiques peuvent faire appel à un mélange d'opérations de comparaison et d'opérateurs logiques. Voyez l'exemple ci-dessus : la condition sera vraie si la température est supérieure à 100 (expression comparative) et si la variable PROG1 est active (opérateur logique). Ce genre d'expression logique peut être utilisé comme transition entre deux étapes, comme condition pour la réalisation d'une action, comme condition d'activité ou de remise à zéro d'un grafcet. Exemple LEVEL < 100 * TIMER1 Copyright Actron AB 1994 Les conditions de passage d'une étape à la suivante sont que le niveau soit inférieur à 100 et que la temporisation TIMER1 soit arrivée à sa consigne. 117 Programmation, la pratique Zoom: Pour permettre une vue d'ensemble du ou des grafcets durant la phase de programmation (ou de surveillance des grafcets en marche), vous pouvez soit agrandir (zoom avant) soit diminuer (zoom arrière) les objects de votre choix à l'écran. Poussez < + > pour effectuer un zoom avant Poussez < - > pour effectuer un zoom arrière La boite suivante apparaît alors : ELEMENT BRANCH GRAPH Cela signifie que vous pouvez "zoomer" différentes parties d'un grafcet : • Si vous choisissez ”ELEMENT”, l'étape sur laquelle se trouve le curseur sera soit agrandie (+) soit diminuée (-). • Si vous choisissez ”BRANCH”, uniquement la branche du grafcet sur laquelle se trouve le curseur sera zoomée. • Si vous choisissez "GRAPH", c'est le grafcet complet sur lequel se trouve le curseur qui est zoomé. Taille 1 : La taille par défaut, elle vous permet de voir simultanément les étapes, les transitions, les actions, les textes explicatifs... (Taille 2 : Toutes les boites auront la même largeur ) Taille 3 : Cette taille permet de n'afficher que la structure de votre grafcet, sans les détails. Il reste malgré tout possible de contrôler l'évolution du cycle par la fonction "Visualisation / Monitoring". Cette taille est pratique pour obtenir en même temps plusieurs grafcets à l'écran. Exemple: ┌───────┐ │ ╔╧╗ │ ╚╤╝ │ ╪════╤ │ ┌┴┐ ┌┴┐ │ └┬┘ └┬┘ │ │ ┌┴┐ │ │ └┬┘ │ ╪════╧ │ ├────┐ │ ┌────┤ ┌┴┐ │ ┌┴┐ ┌┴┐ └┬┘ │ └┬┘ └┬┘ ┌┴┐ │ ┌┴┐ ┌┴┐ └┬┘ │ └┬┘ └┬┘ │ │ └────┤ │ │ ├────┘ └───────┘ +. ┌──┐ │ ╔╧╗ │ ╚╤╝ │ ┌┴┐ │ └┬┘ │ ┌┴┐ │ └┬┘ │ ┌┴┐ │ └┬┘ │ ┌┴┐ │ └┬┘ │ ┌┴┐ │ └┬┘ │ ┌┴┐ │ └┬┘ │ ┌┴┐ │ └┬┘ │ ┌┴┐ │ └┬┘ └──┘ Off-line A:/AUTO ┌────────┐ PUSHB 1┤ ├LIFT DOWN LIFT LOW┤ ├LIFT UP PUSHB 2┤ │ LIFT HIGH┤ │ └────────┘ ╒════════╕ FACT1╡▒CALC2▒▒╞PROD FACT2╡▒▒▒▒▒▒▒▒╞RESULT PROD╡▒▒▒▒▒▒▒▒│ └────────┘ ┌───┴────┐ │ ╞VALUE1 │ ╞ANALOGOUT3 │ ╞G └───┬────┘ Series H $ Différentes tailles d'affichage peuvent cohabiter en toute liberté sur le même écran. L'impression du Grafcet sur papier se fera à la même taille qu'à l'affichage. 118 Copyright Actron AB 1994 Consoles de programmation portatives Consoles de programmation portatives : Il existe deux types de consoles de programmation portables : - PGM-GPH Console mode graphique. - PGM-CHH Console mode instruction. Pour plus d'informations, prière de consulter les manuels Hitachi adéquats. Copyright Actron AB 1994 119 Consoles de programmation portatives 120 Copyright Actron AB 1994 Description générale du matériel Description générale du matériel Copyright Actron AB 1994 121 Description générale du matériel 122 Copyright Actron AB 1994 Description générale du matériel Description générale du matériel Specification générale : 0 à 55 ° C -10 à 75 ° C 20% à 90% (sans condensation) 10% à 90% (sans condensation) 20 ms Fréquence 16.7 Hz, multi amplitude 3 mm dans les axes X, Y and Z. Impulsions de 1500V de 1 µs, 100ns... générées par un simulateur de bruit suivant NEMA ICS2-230-42 to 45 (excepté pour les entrées) Bruit d'électricité statique, 3000Vappliqué sur les surfaces métalliques exposées. 20 MΩ ou plus entre les bornes d'alimentation AC et la borne de terre. 1500 VAC durant 1 minute entre les bornes d'alimentation AC et la borne de terre. 100 Ω Doit être exempt de gaz corrosifs tel que ammonium, hydrogène sulfuré etc. Ventilation naturelle. Température de fonctionnement Température de stockage % Humidité lors du fonctionnement % Humidité lors du stockage Durée microcoupure non détectée par le PLC Résistance aux vibrations Résistance aux bruits électriques Résistance d'isolation Tension diélectrique Résistance maxi de la mise à la terre Milieu ambiant Refroidissement Spécifications de base : Nombre maximum de modules/cartes Nombre d'E/S hormis les E/S déportées Méthode de scrutation Temps de cycle Mémoire prg Nombre d'instructions Méthode de mise à jour des E/S Variables de type Variables spéciales HB - H200 H250 16 (avec BSM-9) H252 29 H300-H2002 64 (pour H2000/2) jusqu'à 128 Cartes 8 E/S Cartes 16 E/S Cartes 32 E/S Cartes 64 E/S jusqu'à 128 jusqu'à 256 jusqu'à 512 jusqu'à 128 jusqu'à 256 jusqu'à 512 jusqu'à 232 jusqu'à 464 jusqu'à 928 jusqu'à 1024 jusqu'à 2048 jusqu'à 4096 Scrutation cyclique du programme Instructions logiques Instructions arithmétiques Logiques Arithmétiques Bit (R) Mot (WR) 1.5 µs/ instruction >10 µs/ instruction 7.6 k pas 17 54 directe 1.5 µs/ instruction >10 µs/ instruction 7.6 k pas 17 49 mémorisation E/S ou directe 1 k mot (WR0-3FF) 1 k mot (WR0-3FF) 128 x 2 (256) bits 128 x 2 (256) bits 128 x 4 (512) bits bits words Variables réseaux (WL/L) Nombre maxi d'E/S déportées Bit/Mot (M/WM) Tempo/Compteurs Consigne tempo Consigne compteur Détection front Horloge temps réel Copyright Actron AB 1994 0.6 µs/ instruction >5 µs/ instruction 15.7 k pas 17 73 mémorisation E/S ou directe 1984 1 k mot (WR0-3FF) 64 64 0.25 µs/ instruction >3 µs/ instruction 15.7 k pas 17 124 mémorisation E/S 1 k / 17 k mots min 0.4 µs/ instruction >5 µs/ instruction jusqu'à 48 k pas 17 jusqu'à 124 directe 1 k / 17 k / 50 k mots 1024 mots /16384 bits 512 bits/ /32 mots x 4 4092/256 16384/1024 512 (TD+CU etc.) 0-255 pour les temporisateurs 0 à 65535 x base de temps 0.01, 0.1 et 1 s 0 à 65535 128 montants 512 montants 128 descendants 512 descendants Année, mois, jour, jour de la semaine, heure, minute et seconde (sauf H300-H2000) 123 Description générale du matériel Scrutation et mise à jour des E/S Mise à jour des entrées/sorties. Presque tous les CPUs de la série H peuvent travailler en mettant directement à jour les E/S durant la scrutation. Les CPUs H200 et H250 peuvent aussi travailler en mode "mémorisation des E/S" tandis que le H252 ne peut travailler que dans ce mode. Mémorisation des E/S : L'état de l'entrée est lu et mémorisé avant la scrutation du programme tandis que les sorties sont inscrites directement après la scrutation. Durant la scrutation, l'automate n'utilise que les images des entrées et sorties qu'il a stocké en mémoire. Les variables internes, elles, sont directement mises à jour durant la scrut ation. Mise à jour directe : Cela signifie que l'état de l'entrée est réellement lu pendant la scrutation chaque fois que l'entrée apparaît dans le programme.Les sorties seront également physiquement mises à jour directement après avoir évalué leurs équations de commande. Mémorisation des E/S Scrutation prg Mise à jour directe des E/S Y200 Programme Logics Scrutation prg Y202 Scan scrutation 1 X115 Y202 scrutation 2 Scan scrutation 3 Max 2 scrutations Min 1scrutation Scan X115 Y202 Max 1scrutation Min temps de filtration et de traitement logique Différences pratiques : Avec la mise à jour directe des entrées et des sorties, vous bénéficierez d'un meilleur temps de réponse de l'installation puique une sortie sera enclenchée maximum une scrutation après l'apparition de l'entrée de commande. Veuillez noter que, comme le montre l'exemple suivant, une entrée peut changer d'état pendant la scrutation ce qui peut provoquer des phénomènes inattendus. 124 Copyright Actron AB 1994 Description générale du matériel Pour être sûr que le contact a le même état durant toute la scrutation, procédez comme suit : ATTENTION ! X002 peut avoir deux différents états dans la même scrutation de programme Interruption Trois types d'interruptions peuvent intervenir durant la scrutation normale du programme : - Interruption périodique : intervient toutes les 10 ms pour mise à jour des valeurs de tempos... - Interruption 10 ms : séquence programme exécutée toutes les 10 ms. - Interruption 20 ms : séquence programme exécutée toutes les 20 ms. - Interruption 40 ms : séquence programme exécutée toutes les 40 ms. - Interruption externe : interruption intervenant suite à un signal d'entrée. END INT 1 20 ms interrupt RTI INT 17 Inter. périodique 10 ms interrupt 20 ms interrupt Programme normal Interruption extérieure 40 ms interrupt L'interruption périodique a la plus haute priorité; elle va suspendre le déroulement d'une interruption extérieure et survient sans aucune intervention de l'utilisateur. Lorsqu'une routine d'interruption est terminée, la scrutation reprend à la ligne de programme qui était exécutée au moment où l'interruption est intervenue. Le début de l'interruption est notée par "INT n" et la fin par "RTI"; les lignes de programme écrites entre les deux instructions seront exécutées lorsque l'interruption (extérieure, 10 ms...) intervient. External interrupt RTI Pour plus d'information à propos des instructions INT et RTI, voyez la page 84. Copyright Actron AB 1994 125 Description générale du matériel Types d'interruptions : N° d'interruption INT0 INT1 INT2 Interruption avec intervalle de 10 ms Interruption avec intervalle de 20 ms Interruption avec intervalle de 40 ms INT16 Interruption entrée N° 0 INT17 INT18 INT19 INT20 INT21 INT22 INT23 INT24 INT24 INT25 INT26 INT27 INT28 INT29 INT30 INT31 Interruption entrée N° 1 Interruption entrée N° 2 Interruption entrée N° 3 Interruption entrée N° 4 Interruption entrée N° 5 Interruption entrée N° 6 Interruption entrée N° 7 HB: Compteur rapide = Présélection Interruption entrée N° 8 Interruption entrée N° 9 Interruption entrée N° 10 Interruption entrée N° 11 Interruption entrée N° 12 Interruption entrée N° 13 Interruption entrée N° 14 Interruption entrée N° 15 X0+adresse de base de la carte (X0 pour HB) X1+ " X2+ " X3+ " X4+ " X5+ " X6+ " X7+ " X8+ " X9+ " X10+ " X11+ " X12+ " X13+ " X14+ " X15+ " HB H200 Oui Oui Oui Oui Oui Oui H250H2002 Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui Oui La priorité d'une interruption est inversement proportionnelle à son numéro; cela signifie qu'une interruption à intervalle de 10 ms peut suspendre l'exécution d'une interruption extérieure mais pas l'inverse. Periodic interrupt 10 ms interrupt 20 ms interrupt 40 ms interrupt Int. ext. haute priorité Int. ext. basse priorité Scrutation normale Notez que chaque exécution de routine d'interruption prend du temps sur la scrutation normale du programme. Vous pouvez utiliser le Relais Chien de garde pour surveiller le temps d'exécution du programme et signaler si celui-ci dure trop longtemps. La présélection de ce relais se fait par le menu ”Setup- PLC” ; cette valeur peut être comprise entre 10 ms et 2550 ms et prend la valeur de 100 ms si rien d'autre n'est spécifié. 126 Copyright Actron AB 1994 Description générale du matériel Installation Instructions générales de montage : Ces instructions sont valables pour tous les automates de la gamme Hitachi. L'automate doit être monté verticalement pour assurer une bonne ventilation.Il est également permis de le monter à l'envers si cela vous convient mieux dans certains cas. Montage correct Montage correct Montage incorrect ! Montage incorrect ! - Réservez une distance de 50 mm au dessus et en dessous du PLC. - V eillez à ce qu'aucune particule métallique ne rentre dans le PLC (copeaux..). - Evitez d'installer le PLC directement au dessus d'une source de chaleur comme un transformateur . . . min 10 mm Goulotte à câbles - Gardez à distance les câbles véhiculant de la haute tension. min 50 mm - Evitez d'installer le PLC dans un endroit trop ensoleillé ou à un endroit où peuvent apparaître de la condensation, de la v apeur, des gaz corrosifs etc . . . - Evitez de monter le PLC en un endroit soumis à de trop fortes vibrations. Copyright Actron AB 1994 min 50 mm min 10 mm 127 Description générale du matériel Circuit d'alimentation : 220 VAC /110 VAC Les automates peuvent travailler soit en 220 VAC ou en 110 VAC en standard HB H200-H252 H300-H2002 Pontage en face avant Pontage sur la carte d'aliAlimentation automentation adaptative V DC La série HB peut être commandée avec une alimentation 24 V DC (non stocké). Une carte d'alimentation 24Vdc (PSMD) est disponible pour la série H200-H252. Une carte 24Vdc est également disponible pour la série H300-H2002 ; suivant la puissance de la carte, la référence est AVR-04DH ou AVR-08DH. Raccordement : Utilisez de préférence du câble de 2 mm2 pour l'alimentation et la terre. La terre peut être partagée avec des relais mais pas avec un équipement qui produit des interférences électriques comme un équipement à tyristor, une machine de soudage etc.La résistance de la mise à la terre ne doit pas dépasser 100 Ω. 220/110 VAC Si la tension d'alimentation est parasitée, il est préféreable de prévoir un filtre. filtre Raccordement des entrées et des sorties : Raccordement des entrées DC : Les cartes d'entrées des HB et H200-H252 doivent être alimentées en 24 V de façon externe. Pour la série H300-H2002, les entrées peuvent être alimentées de façon interne en raccordant au 24 Vdc la borne située dans le bas de la carte d'alimentation AVRxx). 128 Copyright Actron AB 1994 Description générale du matériel Raccordement des sorties : Sorties RELAIS Sorties TRANSISTOR PLC Outputs Alimentation AC ou DC Sortie TRIAC PLC Outputs Alimentation DC PLC Outputs Alimentation AC Sorties Relais : Si la charge est inductive et dépasse les 10 VA, connectez un circuit RC de 0.1 µF + 100Ω en parallèle avec celle-ci. Si la charge est alimentée en courant continu, utilisez une diode branchée en parallèle. Sorties Transistor : Connectez une diode en parallèle avec la charge. Sorties Triac : Si la charge est inductive ou que la charge est très faible, branchez un circuit RC de 0.1 µF + 100Ω en parallèle avec celle-ci. La connection série du CPU : La sortie série du CPU nécessite l'utilisation d'un protocole particulier pour communiquer avec un PC. Ce protocole peut, par exemple, être utilisé par des programmes de supervision tel que Wiscon, FIX, InTouch etc. Le même protocole est utilisé par les programmes ActSip-H et ActGraph. Deux programmes interfaces vous permettent de développer vos propres applications : H-COMM: Routines écrites en Microsoft C, contenant les codes vous permettant de communiquer facilement avec les PLCs de la série H. ActServ: serveur DDE pour les PLC de la famille H. Cela signifie que des programmes Microsoft Windows supportant les échanges DDE peuvent communiquer directement avec le PLC (DDE signifie Dynamic Data Exchange et est supporté, par exemple, par Excel et Visual Basic). Des applications très intéressantes sont possibles avec Excel comme, par exemple, la collecte automatique de données, le traitement de celles-ci par le tableur et leurs présentations sous forme de graphique. De la même manière, il est aussi possible d'écrire des valeurs et de contrôler le programme du PLC depuis le tableur. Copyright Actron AB 1994 129 Description générale du matériel Codes d'erreur, contre-mesure et maintenance. Messages d'Erreur : Tous les PLC série H possèdent, en face avant du CPU, une LED indiquant la présence d'une erreur tandis que les H300-H2002 sont équipés en plus d'un affichage à deux chiffres signalant en clair le code d'erreur. En utilisant les softs Actsip-H ou Actgraph+ (ou la console Hitachi), vous pouvez également lire le code d'erreur présent dans la variable interne spéciale WRF000. Le soft ActSip-H vous signale même en clair la nature du défaut (par le menu "Communication-Show status"). Vous trouverez ci-dessous la liste des codes d'erreur, leurs significations et la contre-mesure proposée. Le code d'erreur est disponible dans le mot interne WRF000. Code erreur Type d'erreur Priorité Raison du défaut Contre-mesure Led erreur RUN/ Stop Indication mémoire 11 Erreur ROM système Erreur RAM système Haute Le CPU est peut-être défectueux; si le défaut réapparaît, il faudra changer le CPU. On Stop - On Stop - Erreur de µprocesseur Instruction inconnue Erreur mémoire donnée Erreur mémoire programme Haute Erreur de somme de ctrl; le CPU ne sait pas bien lire la ROM Erreur de somme de ctrl; le CPU ne sait pas bien lire la RAM Essaye de lire une instruction inconnue Moyenne Essaye de lire une instruction inconnue Moyenne Détection d'une erreur lors du contrôle mémoire donnée Détection d'une erreur lors du calcul de la somme de contrôle Erreur taille mémoire Erreur de synthaxe Moyenne Dépassement temps lors scrutation normale Dépassement temps lors scrutation périodique Dépassement temps lors interruption Erreur communication Erreur communication Erreur communication Erreur communication Erreur communication Erreur de batterie Basse 12 13 23 27 31 33 34 44 45 46 61 62 63 64 65 71 130 Haute Moyenne Vérifiez que l'environnement n'est pas trop parasité. On Stop R7C8 On Stop R7C9 On Stop - On Stop R7CA On Stop R7CC On Stop On Stop R7D4 et WRF001 R7D1 Non concordance entre taille mémoire et information donnée lors du Setup PLC La mémoire utilisateur contient une erreur (voir le mot WRF001 pour plus de détails) Le temps d'exécution du programme normal est supérieur au temps donné lors du Setup PLC. Réessayez de transférer le programme. La batterie est peut-être défectueuse. Si le PLC est équipé d'une ROM, vérifiez le montage. Initialisez le CPU correctement; si le problème persiste, changez le CPU. Consultez la table des erreurs de programme utilisateur Modifiez le prg pour que l'exécution prenne moins de temps ou modifiez le Setup PLC Basse La routine d'interruption périodique est appelée durant sa propre exécution. Modifiez la routine d'interruption périodique afin de dim inuer son temps d'exécution. On Stop R7D2 Basse La routine d'interruption est appelée durant sa propre exécution. Les intervalles de temps entre les interruptions doivent être plus longs. On Stop R7D3 Avis Erreur de communication avec le PC (parity error) Erreur de communication avec le PC (handshake error) Erreur de communication avec le PC (time out) - Off RUN Moyenne Avis Avis Avis Avis Avis Erreur de communication avec le PC (protocol error) Erreur de communication avec le PC (data receive error) La charge de la batterie est inférieure au seuil minimum. - Vérifiez les câbles. Vérifiez les paramètres de communication Supprimez les sources de parasite. Changez de batterie Off RUN Off RUN Off RUN Off RUN Clignote RUN R7D9 Copyright Actron AB 1994 Description générale du matériel Messages d'erreurs de synthaxe (erreurs programme) : La LED située sur la face avant du CPU s'allumera en cas de détection d'erreur de programme. Avec les softwares ActSip-H et ActGraph ou avec les consoles Hitachi, vous pourrez lire le code d'erreur stocké dans le CPU; le soft ActSip vous donnera même un message d'erreur en clair (menu ”Communication- Show Status” ). Consultez la table ci-dessous pour connaître la raison de l'erreur. Le code d'erreur est disponible dans le mot interne WRF001 Code erreur Erreur Description Action corrective 01 Label (LBL) défini deux fois Instruction LBL avec le même numéro utilisé plus d'une fois. Instruction FOR avec le même numéro utilisé plus d'une fois. Instruction NEXT avec le même numéro utilisé plus d'une fois. Instruction SB avec le même numéro utilisé plus d'une fois. Instruction INT avec le même numéro utilisé plus d'une fois. Une instruction inconnue a été utilisée Retirez une des intructions LBL ou changez-en le numéro FOR défini deux fois avec même N° NEXT défini deux fois avec même N° 04 Double définition de Sous-routine SB 05 Double définition de routine INT 0F Instruction inconnue 10 Manque instruction END 11 12 13 Manque instruction RTS Manque instruction RTI Manque instruction SB Une instruction ou INT. Une instruction Une instruction Une instruction 14 Manque instruction INT Une instruction INT manque avant une instruction RTI. 16 Numéro d'E/S erroné 20 Instruction RTS mal positionnée 21 Instruction RTI mal positionnée 22 Instruction END mal positionnée 23 Instruction CEND mal positionnée 30 Instruction RTS conditio nnée par circuit logique Instruction RTI conditio nnée par circuit logique Instruction END conditionnée par circuit logique Un bloc de programme contient une adresse non conforme. Une instruction RTS est utilisée autre part que dans les sous-routines. Une instruction RTI est utilisée autre part que dans les routines INT. Une instruction END est utilisée autre part que dans le programme normal. Une instruction CENDest utilisée autre part que dans le programme normal. Un circuit logique a été écrit avant la boite contenant l'instruction RTS. Un circuit logique a été écrit avant la boite contenant l'instruction RTI. Un circuit logique a été écrit avant la boite contenant l'instruction END. 31 32 Copyright Actron AB 1994 END manque avant une instruction SB RTS manque après une instruction SB. RTI manque après une instruction INT. SB manque avant une instruction RTS. Retirez une des intructions FOR ou changez-en le numéro Retirez une des intructions NEXT ou changez-en le numéro Retirez une des intructions SB ou changez-en le numéro Retirez une des intructions INT ou changez-en le numéro Retirez-la Ecrivez une instruction END en fin de programme normal, avant toutes instructions SB ou INT. Ecrivez une instruction RTS en fin de routine SB. Ecrivez une instruction RTI en fin de routine INT. Ecrivez une instruction SB en début de sous-routine, avant l'instruction RTS. Ecrivez une instruction INT en début de routine d'interruption, avant l'instruction RTI. Corrigez l'adresse de l'E/S ou effacez-la. Déplacez l'instruction RTS vers une sous-routine ou effacez-la. Déplacez l'instruction RTI vers une routine d'interruption ou effacez-la. Déplacez l'instruction END vers la fin du programme normal ou effacez-la. Déplacez l'instruction CEND vers la fin du programme normal ou effacezla. Effacez les conditions d'entrée dans la boite arithmétique. Effacez les conditions d'entrée dans la boite arithmétique. Effacez les conditions d'entrée dans la boite arithmétique. 131 Description générale du matériel Erreur durant l'exécution du programme : Si une erreur, causée par une instruction erronée, survient durant l'exécution du programme, elle est signalée de la façon suivante : • La variable spéciale ERR (R7F3) passe à 1. • Le code d'erreur est enregistré dans le mot spécial WRF015. R7F3 et WR015 doivent être remis à zéro par les instructions du programme. 132 Code d'erreur Erreur Description Instruction source de l'erreur H0013 SB non défini La sous-routine qui est appelée par l'instruction CAL n est inexistante. CAL H0015 LBL non défini Le label n qui est référencié par l'intruction JMP n ou CJMP n est inexistante. JMP ou CJMP H0040 LBL hors zone d'appel L'instruction LBL n ne se trouve pas dans la même zone programme (normal, sousroutine..) que l'instruction appelante JMP n ou CJMP n. JMP ou CJMP H0041 SB trop imbriqué Trop de sous-routines sont imbriquées les unes dans les autres; consultez les parties de manuel particulières à chaque CPU pour connaître le nombre de niveaux d'imbrications possibles (sous-routine appelant une autre sous-routine). CAL H0042 CAL non défini Une instruction RTS est trouvée sans qu'une instruction CAL n'ait été exécutée. RTS H0043 NEXT avant FOR Une instruction NEXT n est trouvée avant le FOR n correspondant FOR H0044 NEXT hors zone d'appel L'instruction NEXT n correspondante à l'instruction FOR n ne se trouve pas dans la même zone programme. FOR H0045 FOR / NEXT chevauchant Les instructions FOR n et NEXT n chevauchent un autre groupe FOR / NEXT. FOR H0046 FOR / NEXT trop imbriqués Trop de FOR / NEXT sont imbriqués les uns dans les autres; le nombre maximum d'imbrications est de 5. FOR / NEXT Copyright Actron AB 1994 Informations particulières aux H20-H64 Informations particulières aux H20 - H64 Copyright Actron AB 1994 133 Informations particulières aux H20-H64 134 Copyright Actron AB 1994 Informations particulières aux H20-H64 Informations particulières aux H20-H64 (et HL20-HL64) Description des composants La série HB comporte quatre différentes tailles d'unités de base. 8 9 10 11 8 9 10 11 POW RUN ERR 8 9 10 11 R.CL H20 avec 12 entrées et 8 sorties H28 avec 16 entrées et 12 sorties H40 avec 24 entrées et 16 sorties H64 avec 40 entrées et 24 sorties 8 9 10 11 8 9 10 11 8 9 10 11 POW RUN ERR R.CL Il peut également être livré avec carte "réseau deux fils" intégrée : HL40 HL64 POW RUN ERR 1 06 1 07 108 109 11 0 111 R.CL 106 10 7 10 8 109 110 111 POW RUN ERR R.CL Ce PLC peut être étendu de trois manières différentes : INPUT INPUT 012 3 456 7 POW RUN ERR 8 910 11 8 91011 INPUT 8 9 1011 012 3 0 1 2 3 4 5 6 7 8 91 0 11 8 91011 8 91011 8 91011 8 91011 4 56 7 8 9 1011 8 91011 8 91011 8 910 11 OUTPUT R.CL 0010110210 1 3 10 4 10 5 POW RUN ERR INPUT R.CL OUTPUT 00 10 1 1 102 1 03 1 04 10 5 06 1 1 07 10 8 109 10 11 01 23 POW RUN ERR 106 1 07 10 8 109 45 67 INPUT 06 1 1 0710810 9 10 11 06 1 1 07 1 0810 9 10 11 8 91011 01 23 456 7 ou au moyen de blocs d'extension (H-16) 8 9 1011 10 11 R.CL POW RUN ERR OUTPUT 00 10 1 1 10 2 10 3 104105 106 1 07 10 8 10 9 11 0 11 1 06 10 1 71 08 10 9 Au moyen d'une unité d'expansion : H-20Z avec 12 entrées et 8 sorties H-40Z avec 24 entrées et 16 sorties H-64Z avec 40 entrées et 24sorties 10 11 1 R.CL OUTPUT 10 0 101 1 02 10 3 104 1 05 OUTPUT 06 10 1 7 10 8 10 9 110 11 10 0 101 1 02 10 3 10 4 105 06 10 1 7 10 8 10 9 ou au moyen d'une extension de type H200. 11 0 11 1 0 1 2 3 POW RUN ERR RCL 0 STOP RUN 5 81 2 5 91 3 6 101 4 7 111 5 0 5 1 5 2 6 3 7 0 5 8 12 1 5 9 13 2 6 10 14 3 7 11 15 0 0 1 1 2 2 3 3 4 4 5 5 8 1 9 2 3 4 10 11 6 3 4 5 13 6 6 7 7 14 15 C1 C2 2 10 11 12 13 7 1 9 12 5 0 5 1 5 2 6 3 7 0 8 6 14 C 15 C1 C2 7 C Explication concernant le nom du produit : Série H (H Board) HL signfie H Link 40 E/S externes D pour l'unité de base Z pour l'unité d'extension R pour sorties Relais T pour sorties Transistor P pour la version PNP (Source type) peut aussi être utilisé pour NPN (Sink type) Les unités de base et d'extension sont disponibles avec sorties relais; la référence du produit prend alors le suffixe DRP" (exemple : la référence H-64DRP concerne une unité de base avec 40 entrés et 24 sorties relais). Le suffixe "DTP" concerne les unités avec sorties transistors. Copyright Actron AB 1994 135 Informations particulières aux H20-H64 HB, modèle réseau (HL) Le modèle HL est disponible dans les tailles HL40 (24 entrées / 16 sorties) et HL64 (40 entrées / 24 sorties). Il peut être utilisé de trois manières différentes sélectionnées au moyen d'un dip switch et de deux interrupteurs rotatifs (voir ci-dessous). Connection réseau vers un PLC principal de la gamme H300-H2002 paires torsadées (max 300 m) max. 8 stations Dip switch 3 sur ON. Les interrupteurs rotatifs indiquent le N° de canal Réseau multi-CPU Dip switch 3 OFF + station N°. paires torsadées (max 300 m) max. 8 stations Dip switch 3 sur OFF. Interrupteurs rotatifs : - 4 = station N°. - 5 = nombre de stations CPU maître dans un système avec E/S déportées. paires torsadées (max 300 m) max. 8 stations Dip switch 3 sur ON pour Données maintenues. Interrupteurs rotatifs sur "FF" Série HB en version "module déporté" (unité d'extension déportée HR) La version HR est disponible dans les tailles HR20 (12 entrées / 8 sorties) , HR40 (24 entrées / 16 sorties) et HR64 (40 entrées / 24 sorties). Elle peut être utilisée en combinaison avec tous les autres appareils de la série H. Ce module peut également se connecter à une carte réseau de H200. paires torsadées (max 300 m) max. 12 stations 136 paires torsadées (max 300 m) maxi 4 stations si uniquement des modules HR sont utilisés Copyright Actron AB 1994 Informations particulières aux H20-H64 Liste des composants : Unités de base et modules d'expansion : Type de modules Unités de base (P) signifie PNP Unités de base avec fonction réseau Modules déportés Unités d'extension Blocs d'extension Câbles d'extension Modules mémoire Accessoires Terminal opérateur Copyright Actron AB 1994 Nom Description H-20DR(P) H-20DT(P) 12 entrées, 24 V DC, 8 sorties, Relais 12 entrées, 24 V DC, 8 sorties, Transistor H-28DR(P) 16 entrées, 24 V DC, 12 sorties, Relais H-28DT(P) 16 entrées, 24 V DC, 12 sorties, Transistor H-40DR(P) 24 entrées, 24 V DC, 16 sorties, Relais H-40DT(P) 24 entrées, 24 V DC, 16 sorties, Transistor H-64DR(P) 40 entrées, 24 V DC, 24 sorties, Relais H-64DT(P) 40 entrées, 24 V DC, 24 sorties, Transistor HL-40DR(P) 24 entrées, 24 V DC, 16 sorties, Relais HL-40DT(P) 24 entrées, 24 V DC, 16 sorties, Transistor HL-64DR(P) 40 entrées, 24 V DC, 24 sorties, Relais HL-64DT(P) 40 entrées, 24 V DC, 24 sorties, Transistor HR-20DR(P) 12 entrées, 24 V DC, 8 sorties, Relais HR-20DT(P) 12 entrées, 24 V DC, 8 sorties, Transistor HR-40DR(P) 24 entrées, 24 V DC, 16 sorties, Relais HR-40DT(P) 24 entrées, 24 V DC, 16 sorties, Transistor HR-64DR(P) 40 entrées, 24 V DC, 24 sorties, Relais HR-64DT(P) 40 entrées, 24 V DC, 24 sorties, Transistor H-20ZR 12 entrées, 24 V DC, 8 sorties, Relais H-20ZT 12 entrées, 24 V DC, 8 sorties, Transistor H-40ZR 24 entrées, 24 V DC, 16 sorties, Relais H-40ZT 24 entrées, 24 V DC, 16 sorties, Transistor H-64ZR 40 entrées, 24 V DC, 24 sorties, Relais H-64ZT 40 entrées, 24 V DC, 24 sorties, Transistor H16-BD 16 entrées 24 V DC H16BR 16 sorties, Relais H16BT 16 sorties, Transistor CNM-01 0.1 m CNEB-06 0.6 m CMN-10 1.0 m MPBH-4E EEPROM 3.5 k pas MPBH-8E EEPROM 7.6 k pas MPBH-8R EPROM 7.6 k pas LIAT-H Batterie CAPBH Capacité de sauvergarde pour mémoire ACTTERM-H Connecté en direct au bus interne Autres types Liaison par RS232C vers le CPU 137 Informations particulières aux H20-H64 Unités d'extension H200 Types de modules Racks pour montage cartes (Base ou unités d'extension) Carte d'alimentation Cartes d'entrées Cartes de sorties Nom Description BSM -3 Rack de 3 emplacements BSM -4 Rack de 4 emplacements BSM -5 Rack de 5 emplacements BSM -6 Rack de 6 emplacements BSM -7 Rack de 7 emplacements BSM -9 Rack de 9 emplacements PSM -A 2 220/110 V AC PSM -B idem avec plus de puissance PSM -D 24 V DC PIM -A 8 entrées 220/110 V AC PIM -A H 16 entrées 220/110 V AC PIM -A W idem avec connecteur débrochable PIM -D 8 entrées 24 V DC, NPN PIM -DH 16 entrées 24 V DC, NPN PIM -DW idem avec connecteur débrochable PIM -DP 8 entrées 24 V DC, PNP PIM -DPH 16 entrées 24 V DC, PNP PIM -DPW idem avec connecteur débrochable P O M -R 8 sorties relais, 2 A P O M -RC 8 sorties relais indépendantes , 2 A P O M -RH 16 sorties relais, 2 A P O M -RW idem avec connecteur débrochable P O M -S 8 sorties triac P O M -SH 16 sorties triac P O M -SW idem avec connecteur débrochable P O M -T 8 sorties transistor, NPN P O M -TH 16 sorties transistor, NPN P O M -TW idem avec connecteur débrochable P O M -TP 8 sorties transistor, PNP P O M -TPH 16 sorties transistor, PNP P O M -TPW idem avec connecteur débrochable PHH-DT 8 entrées, 8 sorties transistor PHM -TT 16 entrées, 16 sorties type TTL RIOM Réseau vers série H (H300-H2002) IOLH-T Réseau vers séries H200 ou HL RIOH-TM Module déporté maître RIOH-TL Module déporté local RIOH-DT Station déportée locale 32 E/S Carte spéciale ACTANA -F Circuits logiques rapides, échantillonnage analogique, 4 entrées et 2 Comptage rapide Cartes d'entrées analogiques CTH Compteur rapide deux phases 10 KHz AGH -I 8 canaux 4-20mA, résolution 8 bits AGH -IV 8 canaux 0-10V, résolution 8 bits ACTANA -S1 4 canaux résolution 12 bits, courant/tension Cartes mixtes entrées /sorties Communication Cartes de sorties analogiques sorties analogiques (12 bit) AGH -O 4 canaux 4-20mA, résolution 8 bits AGH -O D 2 canaux 4-20mA, résolution 8 bits AGH -O V 4 canaux 0-10V, résolution 8 bits AGH -ODV 2 canaux 0-10V, résolution 8 bits ACTANA -S2 4 canaux d'entrée, 12 bits courant/tension et 2 canaux de sortie, 12 bits courant/tension 138 Copyright Actron AB 1994 Informations particulières aux H20-H64 Adressage : Adressage des unités de base et d'extension : UNITE 0 Slot 0 (X000 - X039) Slot 1 (Y100 - X123 UNITE 1 Slot 0 (X1000 - X1039 Slot 2 Dummy 16 Slot 2 Dummy 16 Unité 0 Slot 1 (Y1100 - X1123 Unité 1 Slot Equivalent à une carte Slot Equivalent à une carte 0 X48 0 X48 1 Y32 1 Y32 2 Dummy16 2 Dummy16 Unité de base et blocs d'extension : UNITE 0 Slot 0 (X000 - X039) Slot 2 Dummy 16 Slot 4 (X400-) ou (Y400-) Slot 3 (X300-) ou (Y300-) Slot 1 (Y100 - X123 L'unité de base est adressée de la même façon que ci-dessus tandis que les blocs d'extension sont adressés comme la continuation de la même unité 0 (le premier bloc est le slot 3, le deuxième, le slot 4 et ainsi de suite). Unité de base et extension du type H200 : UNITE 0 UNITE 1 Slot 0 (X000 - X039) Slot 2 Dummy 16 Slot 1 (Y100 - X123 0 1 2 3 4 = slot N°. L'unité de base est adressée comme plus haut tandis que l'extension style H200 est adressée soit comme une unité 1 connectée à l'unité de base 0 soit comme la continuation de l'unité 1 (le premier emplacement du rack est le slot 3 du système, le second est le slot 4 etc...) Adressage des modules déportés : Le slot 2 de l'unité de base est réservé à cet adressage; les entrées et sorties déportées seront donc adressées X200- et Y200-. Copyright Actron AB 1994 139 Informations particulières aux H20-H64 7.4. Description des composants : LED de mise sous tension LED d'erreur Capot protection du bornier d'entrée Capot de protection du connecteur d'extension LED Run Capot de protection du connecteur de programmation CPU série HB vu de face, couvercle avant monté. Bouton de reset des mémoires sauvegardées Commutateur à clef pour sélection mode RUN / STOP Capot de protection du bornier de sortie CPU série HB vu de face, couvercle avant amovible démonté. Connection pour alimenation 24 V / 12 V DC des entrées X0 - X3 Bornier des entrées DIP switch pour sélection vitesse transmission. Connection Les couvercles série pour de protection des programmation borniers sont relevés. Connecteur d'extension Connecteur pour module mémoire Mode de fonctionnement du contact RUN Batterie Couvercle frontal Bornes d'alimentation 140 Contact RUN Bornier des sorties ou ERREUR Connection batterie ou capacité sauvegarde Copyright Actron AB 1994 Informations particulières aux H20-H64 Configuration des cavaliers et Dip switches du HB : Pour régler la vitesse de transimission, enlevez le couvercle et disposez les Dip Switches conformément à la figure ci-dessous : Sélection de la vitesse de transmission Sélection du mode de fonctionnement du contact Run / Erreur Erreur RUN Si le câble de liaison est configuré pour 19200 bps, seulement cette vitesse est permise (voir les manuels Actsip/ActGraph). Contact RUN/ERR Dip sw3 (pour HL): OFF= CPU LINK, réseau de CPUs ON= Liaison vers PLC haut niveau ou module maître E/S déportées Pour HL: (interrupteur rotatif) -Module maître : FF -CPU Link: Station N° -Host link: canal N° Les modes de fonctionnement du contact RUN/ERREUR : Ce contact de sortie (relais, contact NO) peut fonctionner sous deux modes différents, mode décidé par le cavalier comme décrit ci-dessus : soit il indiquera que l'automate est en RUN soit il se fermera pour signaler une erreur; dans ce dernier mode, un panne de batterie entraîne le clignotement du contact. Montage d'un automate série HB Type L1 mm L2 mm Poids kg H-20 155 145 1.2 H-28 155 145 1.2 H-40 190 180 1.4 H-64 270 260 1.8 Montage sur rail DIN 130 mm Profondeur 105 mm L2 mm Largeur L1 mm Copyright Actron AB 1994 141 Informations particulières aux H20-H64 Spécifications des entrées : Sur la série HB, vous pouvez programmer le mode de fonctionnement des huit premières entrées. Les quatre premières entrées permettent aussi une certaine flexibilité dans le niveau de tension utilisé (voir cidessous). Entrées X4 et suivantes Entrées X0 - X3 Type d'entrée Courant continu Tension nominale 24 V DC 5 - 24 V DC Tension acceptée 21.6 à 26 V DC 4 à 27 V DC Courant d'entrée approx. 10 mA ( 24 V DC) pour une impédance 6 mA (à 5 V DC) 12 mA (à 24 V DC) Niveau d'enclench. /déclenchement ON à 19 V DC ou plus OFF à 7 V DC ou moins 1/2 x Us (Us = tension arrivant à la borne S) Temps pour l'enclenchement ON à OFF 5 ms +/- 2.5 ms OFF à ON 5 ms +/- 2.5 ms Polarité sur X4 -... PNP (logique Positive): (X0-X3 tjrs PNP) NPN (logique Négative): Si borne COM connectée au 24V Alimentation fournie 24 V DC: 450 mA - (10 mA) x Nb d'entrées actives simultanément. pour câblage des entrées 12 V DC: 50 mA - (9 mA) x Nb d'entrées actives simultanément. d'environ 2.4 kΩ 0.02 ms /5 ms/ 16 ms pour X0 - X7 Si borne COM connectée au 0V Schéma du circuit d'entrée Raccordement des entrées X4 et suivantes Alimentation des capteurs transistor PNP Suite en page suivante Suite des spécifications des entrées : 142 Copyright Actron AB 1994 Informations particulières aux H20-H64 Raccordement des entrées X0X3 Avec alimentation externe Avec alimentation interne PLC PLC 4 - 27 VDC Spécification des entrées de comptage rapide : Compteur 1 phase Compteur 2 phases N° des entrées utilisées X0 à X2 Fréquence de comptage 10 k Hz Fonction de l'entrée X0 Comptage (+) Phase A Fonction de l'entrée X1 Décomptage (-) Phase B Fonction de l'entrée X2 Remise à Zéro Valeurs de comptage 0-65535 (16 bits binaire) Mode de fonctionnement Dépendant de la programmation (FUN71 à FUN74) Raccordement codeur Remise à zéro venant du codeur : Codeur 2 phases (Open Collector) Alimentation (rouge) Phase B (vert) Phase A (blanc) RàZ (noir) PLC Remise à zéro extérieure : Codeur 2 phases (Open Collector) Alimenation (rouge) Phase B (vert) Phase A (blanc) PLC Copyright Actron AB 1994 143 Informations particulières aux H20-H64 Spécifications des sorties relais : Modèles Unités de base H20 Unité d'extension H28 H40 H64 Type de sortie H20Z H40Z H64Z Relais Tension nominale 220 V AC, 24 V DC Tension de sortie 85 à 250 V AC, 21 à 27 V DC 2 A (COS φ = 1), 1 circuit 1 A ( COS φ= 0.4) Ampérage 2 circuits - 2A 2A 2A - 2A 2A maximum 4 circuits - 4A - 4A - - 4A 6 circuits - 4A 4A 4A - 4A 4A 8 circuits - - 4A 4A - 4A 4A Courant de cde 10 mA ( 5V DC) Courant de fuite maxi - Courant de pointe 6 A, 0.1s ou moins Temps OFF ON 10 ms d'inversion ON OFF Nb de groupes de Sans Com. 8 - - - 8 - - X sortie(s) avec 2 sorties - 1 1 1 - 1 1 commun d'alimen- 4 sorties - 1 - 2 - - 2 tation 6 sorties - 1 1 1 - 1 1 8 sorties - - 1 1 - 1 1 10 ms Polarité Libre Méthode d'isolation Durée de vie Galvanique Electrique Plus de 200 k cycles à 120 V AC et 2 A sur charge résistive Mécanique Plus de 20 millions de cycles Circuit électrique interne Raccordement électrique Alimentation Alimentation Alimentation 144 Copyright Actron AB 1994 Informations particulières aux H20-H64 Spécifications des sorties Transistor : Modèle Unités de base H20DTP Unités d'extension H28DTP H40DTP Type de sortie H64DTP H20ZTP H40ZTP H64ZTP Sortie transistor Tension nominale 24 V DC Tension de sortie 3 à 26 V DC 1 circuit Ampérage 2 circuits maximum 4 circuits 6 circuits 8 circuits 0.5 A - 1.0 A 1.0 A 1.0 A - 1.0 A 1.0 A - 1.25 A - 1.25 A - - 1.25 A - 1.9 A 1.9 A 1.9 A - 1.9 A 1.9 A - - 2.5 A 2.5 A - 2.5 a 2.5 A Courant de cde 10 mA Courant de fuite 100 µA à 24 V DC Courant de fuite 3 A, 10 ms ou moins Temps OFF ON 1 ms d'inversion ON OFF 1 ms Nb de groupes Sans Com. de X sortie(s) avec 2 sorties commun d'ali- 4 sorties mentation 6 sorties 8 sorties 8 - - - 8 - - - 1 1 1 - 1 1 - 1 - 2 - - 2 - 1 1 1 - 1 1 - - 1 1 - 1 1 Polarité Commun positif (+) Méthode d'isolation Opto-coupleur Circuit électrique interne Raccordement électrique Spécification des cartes d'extension : Consultez la partie concernant les informations particulières aux H200-H252 en page 151 et suivantes. Copyright Actron AB 1994 145 Informations particulières aux H20-H64 Particularités du câblage des entrées : Les entrées X0-X3 ne peuvent recevoir que des capteurs du type PNP tandis que, pour toutes les entrées suivantes, vous pouvez choisir de travailler en PNP (COM = 0V) ou en NPN (COM = 24 V). Veuillez noter cependant que les entrées X0 à X3 de l'unité d'extension travaillent comme des entrées standards (NPN ou PNP). Entrées X0-X3 Alimentation interne Entrées X4 et suivantes Alimentation capteurs d'entrée X0-X3 24 V DC 12 V DC Alimentation externe Exemple PNP Alimentation des capteurs d'entrée X4 Alimentation des capteurs d'entrée X0-X3 Alimentation interne fournissant le 24 V DC à toutes les entrées en PNP (logique positive). PNP (logique positive) PLC Unité de base Connecté de façon interne (permet d'alimenter les entrées par groupe) 146 Copyright Actron AB 1994 Informations particulières aux H20-H64 Instructions FUN pour automates série HB Mode set Spécifie le mode de fonctionnement des entrées Cette instruction permet de spécifier : - La constante de temps utilisée pour la filtration des entrées X0-X7. - L'exécution de la routine d'interruption sur base d'un front montant ou descendant de X0-X3. - l'utilisation des entrées X0-X3 en compteur rapide. Cette instruction, réalisée au démarrage de l'automate, programme immédiatement le mode de fonctionnement des entrées concernées. Il est nécessaire de placer ce bloc d'instruction sur la première ligne de programme. Dans cette instruction, S est une adresse de mot. La valeur éventuellement stockée dans ce mot est sans importance et ne sera d'ailleurs pas modifiée durant son exécution; uniquement l'adresse du mot est utilisée comme paramètre dans cette instruction ! Plusieurs instructions FUN 70 peuvent être intégrées au même bloc arithmétique pour réaliser différentes fonctions d'initialisation (voyez l'exemple de programme plus bas). FUN 70 (S) Fonction S Temps de filtration des entrées standards WR0 Initialisation effectuée WR1 Temps de filtration des entrées spéciales WR2 Filtre Change la constante de temps de filtration des entrées X0-X7 de 5 ms à 0.02 ms. Filtre Change la constante de temps de filtration des entrées X0-X7 de 5 ms à 16 ms. Filtre WR3 Filtre WR4 Change la constante de temps des entrées X0-X7 de 5 ms à 0.02 ms quand elles sont utilisées comme entrée d'interruption ou comptage rapide. Change la constante de temps des entrées X0-X7 de 5 ms à 16 ms quand elles sont utilisées comme entrée d'interruption ou comptage rapide. Annule le temps de filtration des entrées X0X7. Aucun filtre Enclenchement routine d'interruption sur base front descendant Compteur rapide (la routine d'interruption INT24 est activée dès que la valeur courante du compteur a atteint la consigne) Erreur Copyright Actron AB 1994 WR10 WR11 WR12 WR13 routine INT16 enclenchée par entrée X0↓ routine INT17 enclenchée par entrée X1↓ routine INT18 enclenchée par entrée X2↓ routine INT19 enclenchée par entrée X3↓ WR14 WR15 WR16 WR17 WR20 routine INT20 enclenchée par entrée X4↓ routine INT21 enclenchée par entrée X5↓ routine INT22 enclenchée par entrée X6↓ routine INT23 enclenchée par entrée X7↓ Spécifie que X0-X2 seront utilisées comme compteur rapide 1 phase où X0 compte les impulsions tandis que X1 décompte et que X2 remet à zéro. WR21 Autre adres. Up Down Reset Chan A Chan B Reset Spécifie que X0-X2 seront utilisées comme compteur rapide 2 phases où X0 est la phase A, X1, la phase B et X2 la remise à zéro. La variable spéciale R7F4 passe à 1 si une autre adresse est utilisée. 147 Informations particulières aux H20-H64 Exemple: X006 CU10 FUN70 (WR1) change la constante de temps des entrées X0-X7 de 5 ms à 16 ms lorsqu'elles sont utilisées comme entrées standards. FUN70 (WR2) change la constante de temps des entrées X0-X7 de 5 ms à 0.02 ms lorsqu'elles sont utilisées comme entrées d'interruption ou de comptage. FUN70 (WR14) fait que la routine d'interruption INT20 est exécutée lorsque l'entrée X4 passe de l'état 1 à l'état 0. Entrée de comptage normale. Copie la valeur courante du compteur rapide dans la variable WR8. Y102 Enclenchement de la sortie Y102 quand la valeur courante du compteur rapide (stockée dans WR8) est supérieure à 345. Fin du programme normal. La routine d'interruption INT20 sera exécutée lorsque l'entrée X4 disparaît. Routine d'interruption exécutée avec un temps de réaction très court. Fin de la routine d'interruption, le programme normal reprend le contrôle. FUN 71 (d) Ecrit en d la valeur courante du compteur rapide La valeur courante du compteur rapide est stockée en d,qui est un mot de 16 bits. Le contenu de d sera alors une valeur binaire de 16 bits comprise entre 0 et 65.535 (voyez l'exemple plus haut). FUN 72 (S) Ecrit une valeur de départ S dans le compteur rapide Le contenu de S, un mot de 16 bits, est écrit dans la valeur courante du comptage rapide. FUN 73 (d) Ecrit en d la valeur de présélection du compteur rapide Ecrit la valeur de présélection (seuil de comptage) du compteur rapide dans le mot de 16 bits d. FUN 74 (S) Attribue à la présélection du compteur rapide la valeur stockée en S Attribue à la présélection du compteur rapide la valeur stockée dans le mot de 16 bits S. Une fois que la valeur courante de comptage est arrivée à ce seuil, la routine d'interruption INT24 sera exécutée. 148 Copyright Actron AB 1994 Informations particulières aux H20-H64 Vue symbolique du fonctionnement du compteur rapide. Pour obtenir un temps de réaction très court une fois que la valeur courante du compteur rapide a atteint sa présélection, une routine d'interruption est démarrée. Vous écrirez dans cette routine INT24 les instructions qui doivent être exécutées une fois que le nombre d'impulsion adéquat a été comptabilisé. Comme son nom l'indique, cette routine va interrompre l'exécution du programme normal qui reprendra une fois l'instruction RTI accomplie. FUN70 (WR21) initialise la fonction "comptage rapide". Présélection Valeur courante Prg normal du PLC La routine d'interruption qui commence par INT24 sera exécutée un fois que la valeur courante de comptage égale la présélection. Les instructions comprises entre INT24 et RTI sont alors exécutées. La scrutation du programme normal reprend après l'exécution de l'instruction RTI. Copyright Actron AB 1994 149 Informations particulières aux H20-H64 150 Copyright Actron AB 1994 Informations particulières aux H200-H252 Informations particulières aux H200-H252 Copyright Actron AB 1994 151 Informations particulières aux H200-H252 152 Copyright Actron AB 1994 Informations particulières aux H200-H252 Informations particulières aux H200-H252 Description des composants. LED PLC en RUN LED d'indication du statut de l'E/S LED PLC sous ten- Référence carte (verrou de maintient) Vue de côté du rack LED PLC en erreur Bouton de remise à zéro de la mémoire des données Clé Start / Stop Bornes sorties 24VDC pour alimentation capteurs Bornes de raccordement au réseau 220VAC Borne de raccordement à la terre Carte d'alimentation Rack Port série pour liaison PC ou autre terminal Carte CPU Carte de 8 entrées ou sorties Carte de 16 entrées ou sorties Connection du rack d'extension Bornier à vis pour connection des E/S Adressage des entrées et sorties (bits et mots) : Rack de Base : Slot 0 = X/Y0, WX/WY0 Slot 1 = X/Y100, WX/WY10 Slot 2 = X/Y200, WX/WY20 Slot 3 = X/Y300, WX/WY30 Rack d'extension N° 1 : Slot 0 = X/Y1000, WX/WY100 Slot 1 = X/Y1100, WX/WY110 Slot 2 = X/Y1200, WX/WY120 Slot 3 = X/Y1300, WX/WY130 Slot 4 = X/Y1400, WX/WY140 Les adresses des bits d'entrées ont la forme : X[r][u ou St][s][b] Les adresses des bits de sorties ont la forme : Y[r][u ou St][s][b] Les adresses des mots d'entrées ont la forme : WX[r][u][s][w] Les adresses des mots de sorties ont la forme : WY[r][u][s][w] Dans ces formats : désigne une entrée • X désigne une sortie • Y désigne des mots de 16 bits • WX/WY désigne le N° d'unité déportée • r <0-4> maître (0 si pas d'E/S déportée, r = remote) désigne le N° d'unité (0 pour • u <0-2> rack de base, 1 pour 1er rack d'extension, etc) désigne le N° d'unité dépor• St <0-7> tée désigne le N° d'emplacement • s <0-A> dans le rack (s = slot) N° d'E/S sur la carte • b <0-32> N° du mot d'E/S sur la carte • w <0-7> (Ex.: le mot 1 correspond aux bits 16-31, mot 0, bits 0-15...) Slot 5 = X/Y1500, WX/WY150 Copyright Actron AB 1994 153 Informations particulières aux H200-H252 Configuration: Il existe deux types de racks (casiers) : • les BSM-x peuvent être utilisés par n'importe quel CPU jusqu'à 256 E/S maximum. • les BSH-x doivent être utilisés conjointement aux CPU H250-H252 pour travailler avec des cartes "avancées" comme, par exemple, la carte réseau T-LINK. Avec ce type de rack, le CPU H252 peut aussi gérer plus de 256 E/S. Particularités Nombre maximum d'E/S (cartes de 16 points) Nouvelles cartes "avancées" Nombre maximum d'E/S (cartes de 16 points) Nouvelles cartes "avancées" Racks BSM Rack BSH H200 256 E/S H250 256 E/S H252 256 E/S Inutilisable Inutilisable Inutilisable 256 E/S Inutilisable 464 E/S Inutilisable Utilisable Utilisable Veuillez noter que les cartes dites "avancées" doivent être montées dans le rack de base exclusivement.. Ne mélangez pas, pour un même automate, des racks BSM avec des racks BSH. Pour les CPU H200 et les racks d'extension de PLC HB, vous devez utiliser les racks du type BSM avec les restrictions suivantes : • avec les anciens racks (BSM-3 à -7 sans A ou B), le nombre d'emplacements maxi est limité à 10. • avec les anciens racks BSM-9 (sans A ou B), le nombre d'emplacements est limité à 15 et aucune carte adressée en mot (style carte E/S analogique) ne peut être placée dans le rack d'extension. Pour les CPU H250 et H252, vous pouvez utiliser les racks BSM ou BSH et tenant compte que : • les racks BSM sont soumis aux mêmes restrictions que ci-dessus • Les racks BSH permettent l'utilisation des cartes "avancées" utilisant le Bus-Système comme la carte réseau T-Link. • Les racks BSH permettent à un H252 de piloter jusqu'à 29 cartes. PO W RU N ER R R CL 0 5 8 12 1 5 9 13 2 6 10 1 4 3 7 11 1 5 0 0 5 1 5 2 6 3 7 0 0 1 1 2 2 3 3 4 4 5 5 8 S T OP 9 10 11 12 13 6 8 12 9 13 6 1 0 14 7 1 1 15 7 154 0 5 8 12 1 5 9 13 2 6 10 1 4 3 7 11 1 5 0 5 1 5 2 6 3 7 1 1 9 2 10 3 11 4 12 5 13 6 14 7 15 C1 C2 5 8 12 5 9 13 2 6 1 0 14 3 7 1 1 15 2 3 4 5 6 7 C 0 5 8 12 1 5 9 13 2 6 10 1 4 3 7 11 1 5 0 8 1 9 2 10 3 11 4 12 5 13 6 14 7 15 C1 C2 4 5 6 0 1 2 3 4 5 6 7 C 7 C 0 5 8 12 1 5 9 13 2 6 1 0 14 3 7 1 1 15 0 5 1 5 2 6 3 7 0 5 1 5 2 6 3 7 5 8 12 1 5 9 13 2 6 1 0 14 3 7 1 1 15 0 5 1 5 2 6 3 7 0 3 4 5 6 7 C 5 1 5 2 6 3 7 5 8 12 1 5 9 13 2 6 10 14 3 7 11 15 8 1 9 2 10 3 11 4 12 5 13 6 14 7 15 C1 C2 2 0 0 0 1 0 0 0 5 1 5 2 6 3 7 0 0 5 8 12 1 5 9 13 2 6 1 0 14 3 7 1 1 15 0 0 5 1 5 2 6 3 7 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 C C 0 5 1 5 2 6 3 7 0 5 1 5 2 6 3 7 0 0 1 1 2 2 3 3 4 4 5 5 6 6 Configurations maximum d'un PLC H252 avec 29 cartes d'E/S. 0 5 1 5 2 6 3 7 0 5 1 5 2 6 3 7 8 1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 4 5 5 5 5 6 6 6 6 7 7 7 7 7 7 C C C 15 C1 C2 C C 9 10 11 12 13 14 0 5 8 12 1 5 9 13 2 6 1 0 14 3 7 1 1 15 0 8 1 9 2 10 3 11 4 12 5 13 6 14 7 15 C1 C2 0 0 8 1 9 2 10 3 11 4 12 5 13 6 14 7 15 C1 C2 3 0 8 1 9 2 10 3 11 4 12 5 13 6 14 7 15 C1 C2 0 8 1 7 2 7 15 C1 C2 C 0 0 0 8 1 9 2 10 3 11 4 12 5 13 6 14 7 15 C1 C2 6 3 14 7 15 C1 C2 5 5 2 1 6 14 5 5 1 13 6 3 0 0 12 5 2 7 11 1 5 11 4 1 9 13 6 10 1 4 3 10 3 0 8 12 5 2 9 2 0 8 1 9 2 10 3 11 4 12 5 13 6 14 7 15 C1 C2 5 1 8 1 R UN 0 0 5 1 5 2 6 3 7 0 5 1 5 2 6 3 7 0 5 1 5 2 6 3 7 0 0 0 0 1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 4 0 5 8 12 1 5 9 13 2 6 1 0 14 3 7 1 1 15 0 5 1 5 2 6 3 7 0 0 1 1 2 2 3 3 4 4 5 5 6 6 Si des cartes de 16 points sont utilisées, 464 E/S (29 x 16) peuvent être raccordées tandis que, si vous utilisez des cartes de 32 points, vous pourrez monter jusqu'à 928 E/S (29 x 32). Dans ces deux cas de configuration, il est obligatoire d'utiliser les racks du type BSH. 8 9 10 11 12 5 5 5 5 13 6 6 6 6 14 7 C 7 C 7 7 7 7 C 15 C1 C2 C C Copyright Actron AB 1994 Informations particulières aux H200-H252 Montage d'un PLC H200-252 L2 110 mm 140 mm Connecteur pour raccordement d'une extension ou d'un ACtTerm-H Bus interne avec connecteurs de raccordement des cartes 110mm 144mm maxi L1 Rack L1 mm L2 mm Poids (Kg) Rack L1 mm L2 mm Poids (Kg) BSM-3 160 80 0.6 BSH-3 160 80 0.6 BSM-4 195 120 0.7 BSH-5 230 160 0.8 BSM-5 230 160 0.8 BSH-7 300 240 1.0 BSM-6 265 200 0.9 BSH-10 440 270 1.4 BSM-7 300 240 1.0 BSM-9 370 310 1.3 câble CNM-06 de 0.6 m 10-70 mm câble CNM-01 Impossible Impossible ATTENTION : Un mauvais raccordement du câble d'extension peut entraîner la destruction du bus interne des racks ! Copyright Actron AB 1994 155 Informations particulières aux H200-H252 Spécifications des différents composants des H200-H252: Type de composant Cartes CPU Référence Description CPU-02H CPU H200, maxi 256 E/S (512 avec cartes 32 E/S), mémoire RAM 8K, vitesse de scrutation de 1.5 µs/instruction (moyenne) CPU H250, maxi 256 E/S (512 avec cartes 32 E/S), mémoire RAM 8K, vitesse de scrutation de 0.6 µs/instruction (moyenne), nombre d'instructions plus étendu. CPU H252, maxi 464 E/S (928 avec cartes 32 E/S), mémoire RAM 16 k, vitesse de scrutation de 0.25 µs/instruction, jeu complet d'instructions dont régulation PID (64 boucles). mémoire 4 k EEPROM mémoire 8 k EPROM mémoire 4 k EEPROM avec fonction de recopie (uniquement pour H250-H252) mémoire 8 k EEPROM avec fonction de recopie (uniquement pour H250-H252) mémoire 16 k EEPROM avec fonction de recopie (uniquement pour H252) mémoire 16 k EPROM (uniquement pour H252) Rack pour 3 slots dont le CPU (max. 256 E/S) Rack pour 4 slots dont le CPU (max. 256 E/S) Rack pour 5 slots dont le CPU (max. 256 E/S) CPU21-02H CPU22-02H Mémoires Racks pour montage des cartes (unité de base ou extensions) MPH-4E MPH-8R MPH2-4E MPH-8E MPH-16E MPH-16R BSM-3 BSM-4 BSM-5 BSM-6 BSM-7 BSM-9 BSH-3 BSH-5 BSH-7 BSH-10 Cartes d'alimentation Cartes d'entrées Cartes de sorties Cartes mixtes Cartes de communication (E/S déportées, réseau...) PSM-A PSM-B PSM-D PIM-A PIM-AH PIM-AW PIM-D PIM-DH PIM-DW PIM-DP PIM-DPH PIM-DPW POM-R POM-RC POM-RH POM-RW POM-S POM-SH POM-SW POM-T POM-TH POM-TW POM-TP POM-TPH POM-TPW PHH-DT PHM-TT RIOM IOLH-T T-LINK02H LINK-02H RIOH-TM RIOH-TL RIOH-DT SIH 156 Rack pour 6 slots dont le CPU (max. 256 E/S) Rack pour 7 slots dont le CPU (max. 256 E/S) Rack pour 9 slots dont le CPU (max. 256 E/S) Rack pour 3 slots dont le CPU (plus d'E/S avec le H252, cartes avancées utilisables) Rack pour 5 slots dont le CPU (plus d'E/S avec le H252, cartes avancées utilisables) Rack pour 7 slots dont le CPU (plus d'E/S avec le H252, cartes avancées utilisables) Rack pour 10 slots dont le CPU (plus d'E/S avec le H252, cartes avancées utilisables) alimentation en 220/110 V AC. (voir page 157) idem avec plus de puissance (voir page 157) alimentation en 24 V DC (voir page 157) 8 entrées 220/110 V AC 16 entrées 220/110 V AC 16 entrées 220/110 V AC, avec bornier débrochable 8 entrées 24 V DC, NPN 16 entrées 24 V DC, NPN 16 entrées 24 V DC, NPN, avec bornier débrochable 8 entrées 24 V DC, PNP 16 entrées 24 V DC, PNP 16 entrées 24 V DC, PNP, avec bornier débrochable 8 sorties relais avec un commun, 2 A 8 sorties relais indépendantes sans commun, 2 A 16 sorties relais avec deux communs, 2 A 16 sorties relais avec deux communs, 2 A, avec bornier débrochable 8 sorties triac 16 sorties triac 16 sorties triac, avec bornier débrochable 8 sorties transistor, NPN 16 sorties transistor, NPN 16 sorties transistor, NPN, avec bornier débrochable 8 sorties transistor, PNP 16 sorties transistor, PNP 16 sorties transistor, PNP, avec bornier débrochable 8 entrées, 8 sorties transistor, NPN 16 entrées, 16 sorties niveau TTL Réseau en combinaison avec la série H supérieure (H300-H2002) Réseau avec autres H200-252 ou HL, 128 bits (8 mots) Réseau deux fils pour H250-H252 (nécessite Racks BSH), 16 k bits (1024 mots) Réseau câble coaxial pour H250-H252 (nécessite Racks BSH), 16 k bits (1024 mots) Carte maîtresse de commande d'E/S déportées Carte locale de commande d'E/S déportées Carte locale de commande de 32 E/S Carte de communication série (le programme du PLC gère le protocole) Copyright Actron AB 1994 Informations particulières aux H200-H252 Cartes spéciales Cartes d'entrées analogiques Cartes de sorties analogiques Carte d'E/S analogiques ACTANA-F POSH CTH AGH-I Carte logique rapide (200µs.), échantillonage, entrées et sorties analogiques isolées 12 bits Carte de positionnement 2 axes Carte de comptage rapide 10Khz, 2 phases 8 canaux d'entrée, 4-20 mA, résolution 8 bits AGH-IV ACTANA-1 AGH-O 8 canaux d'entrée, 0-10 V, résolution 8 bits 4 entrées analogiques courant ou tension isolées, résolution 12 bits 4 canaux de sortie, 4-20 mA, résoltion 8 bits AGH-OD AGH-OV AGH-ODV ACTANA-S2 2 canaux de sortie, 4-20 mA, résolution 8 bits 4 canaux de sortie, 0-10 V, résolution 8 bits 2 canaux de sortie, 0-10 V, résolution 8 bits 4 entrées et deux sorties analogiques courant ou tension isolées, résolution 12 bits, 3 entrées et 2 sorties digitales rapides (temps de réponse = approximativement 100µs.) Spécifications techniques des différentes cartes : Cartes d'alimentation : PSM-A Tension Nominale Fréquence Admissible Nominale Admissible Consommation Courants en sortie CH1 (5V) CH2(24V) CH3(24V) Alimentation externe PSM-A2 PSM-B 100V/110V/120V AC, 200V/220V/240V AC (sélectionnable par cavalier P3 sur la carte) 85V - 132 V AC, 170 V - 264 V AC 50 / 60 Hz 47 / 63 Hz 0.6 A ou moins 1 A 1 A 1.7 A 300 mA 700 mA disponible 500 mA 450 mA au total 250 mA Maxi 750 mA sur CH3, Maxi 750 mA sur si le cavalier P6 CH3, si le cavalier situé sur la carte P6 situé sur la est retiré. carte est retiré. PSM-D 24 V DC 19.2 - 30 V DC 1.6 A ou moins 1 A 300 mA 1 A CH0 est utilisé par le CPU, les circuits logiques internes et les consoles, CH2 par la commande des sorties (digitales et analogiques) et CH3 est disponible pour alimenter les capteurs externes. Copyright Actron AB 1994 157 Informations particulières aux H200-H252 Cartes d'entrées : PIM-DP, PIMDPH/DPW PIM-D, PIM-DH/DW PIM-A, PIM-AH/AW Type d'entrée Tension nominale Tension acceptable Courant d'entrée Enclenchement entrées DC 24 V DC entrées AC 110 V /220 V AC 21.6 à 26 V DC 85 à 264 V AC environ 9 mA. 7 mA (à 110 VAC) Temps de réaction Polarité ConsomCH1 mation CH2 sur canaux : CH3 ON vers OFF 4 ms ou moins / OFF vers ON 4 ms ou moins PNP (logique Positive) NPN (logique Negative) 0.5 mA+(X +1) 0.5 mA+(X +1) - ON à 19 V DC ou plus X*9 mA / OFF à 7 V DC ou moins ON à 85 V AC ou plus / OFF à 30 V AC ou moins 16 ms ou moins 1 mA - (X* 9 mA sur alimentation interne) - C1 et C2 sont interconnectés C1 et C2 sont interconnectés Raccordement des entrées C1 et C2 sont interconnectés Note.: -Les cartes de 16 points ont un "H" dans la référence, les cartes de 8 points n'en ont pas. - Le "X" dans la table ci-dessus signifie "nombre d'entrées actionnées simultanément ". 158 Copyright Actron AB 1994 Informations particulières aux H200-H252 Cartes de sorties : POM-R, POM-RH, POM-RW Relais 110 / 220 V ACC 85-264 V AC 21-27 V DC 2 A POM-S, POM-SH, POM-SW Triac 85 - 220 V AC 85-264 V AC POM-TP, POM-TPH, POM-TPW Transistor 24 V DC 3 à 26 V DC 1 A 0.5 A 4 A 4 A 1.25 A (4 circuits) 10 mA (5 V DC) - 50 mA 1 mA (220 V AC) 10 mA (24 V DC) 0.1 mA (24 V DC) 6 A (100 ms) 10 ms 20 A (20 ms) 11 ms 3 A (20 ms) réaction 10 ms 11 ms 1 ms 1 ms Nombre de sorties par commun Polarité Mode d'isolation ConsomCH1 8 par bornes C 8 par bornes C 8 par bornes C Galvanique 0.2 + (Y * 0.2) mA Y * 10mA 0 mA Opto-coupleur 0.3 + (Y * 0.2) mA Commun + Opto-coupleur 0.2 + (Y * 0.2) mA Y * 6.5 mA 0 mA Y * 6.5 mA 0 mA Type de sorties Tension nominale Tensions acceptables Charge 1 circuit maxi. 8 circuits Charge mini. Courant de fuite maxi. Courant de pointe Temps de mation / canaux Raccordement des sorties CH2 CH3 Alimentation Alimenation Alimentation Alimenation Alimentation Vdc Alimentation Vdc Note.: -Les cartes de 16 points ont un "H" dans la référence, les cartes de 8 points n'en ont pas. - Le "Y" dans la table ci-dessus signifie "nombre de sorties actionnées simultanément ". Copyright Actron AB 1994 159 Informations particulières aux H200-H252 Cartes analogiques en courant : Type de carte Signal Impédance Résolution Temps de conversion Précision Nombre de canaux Mode d'isolation Isolation entre les canaux ConsomCH1 mation CH2 par canaux CH3 Raccordement AGH-I Entrées 4-20 mA 220Ω 8 bits 1 ms AGH-O AGH-OD Sorties 4-20 mA Charge 0-500Ω 8 bits 1 ms +- (1 % + 1 bit) +- 1 % 8 entrées 4 sorties 2 sorties opto-coupleur non isolé de l'alimentation DC non non 25 mA 0 mA 50 mA 0 mA 50 mA 0 mA 60 mA 250 mA 140 mA Cartes analogiques en tension : Type de carte Signal Impédance Résolution Temps de conversion Précision Nombre de canaux Mode d'isolation Isolation entre les canaux ConsomCH1 mation CH2 par canaux CH3 Raccordement 160 AGH-IV Entrées 0-10 V DC 100 kΩ 8 bits 1 ms AGH-OV AGH-ODV Sorties 0-10 V DC Charge 10 kΩ min 8 bits 1 ms +- (1 % + 1 bit) +- 1 % 8 entrées 4 sorties 2 sorties opto-coupleur non isolé de l'alimentation DC non non 25 mA 0 mA 50 mA 0 mA 30 mA 0 mA 60 mA 140 mA 70 mA Copyright Actron AB 1994 Informations particulières aux H200-H252 Cartes d'entrée/sortie analogiques isolées : Carte Mixte ACTANA-S en courant et/ou tension. La carte Actana-S1 possède 4 entrées analogiques tandis que la Actana-S2 possède 4 entrées et deux sorties analogiques; cette dernière carte est équipée en plus de 3 entrées et 2 sorties gérées de façon interne à la carte par un circuit logique rapide. Raccordement Raccordement Entrées/Sorties digitales Raccordement carte Actana-S1 carte Actana-F carte Actana-S2 Entrées et Transistors ACTANA-F ACTANA-S2 ACTANA-S1 sorties Optoisolées ou contacts d'entrée DIN1 IN 1 - IN 1 - IN 1 - IN 2 + IN 2 + IN 2 + IN 2 - IN 2 - IN 2 - DIN3 IN 3 + IN 3 + IN 3 + DIN2 IN 1 + IN 1 + IN 1 + IN 3 - IN 3 - IN 3 - 5-27 V DC IN 4 + IN 4 + IN 4 + IN 4 - IN 4 - IN 4 - OUT1 + OUT1 + COM 1 COM 1 OUT2 + Output load OUT2 + COM 2 COM 2 DOUT1 D IN 1 D IN 2 D IN 3 Output load D COM DOUT2 D OUT 1 D OUT 2 Sorties, maximum 50 mA, protégées contre les court-circuits. 1 4-20 mA 0-10 V -10 +10 V 0-20 mA 1 H EM 0-20 mA 4-20 mA 0-1 V 0-10 V 2 3 Cavaliers et Dip-switches de réglage des cartes ACTANA : MODE0 2 3 MODE1 MODE2 MODE3 IN 4 OUT 1 OUT 2 IN 3 IN 2 IN 1 Bornier de raccordement H E M 0-20 mA 1 2 3 M M M M O O O O D D D D E E E E 3 2 1 0 1 2 3 4-20 mA 0-10 V -10 +10 V 0-20 mA 1 2 3 OUT2 OUT 1 IN4 4-20 mA IN3 0-1 V IN 2 0-10 V IN 1 Sélection mode de travail et type PLC (H ou EM) Carte Actana (vue côté composants) Connection bus interne Copyright Actron AB 1994 161 Informations particulières aux H200-H252 Valeur régistre Sorties -10 à +10 V 4095 (ou 1000) 4000 Entrées/Sorties analogiques Toutes les entrées et sorties ont une résolution de 12 bits (valeur décimale 0-4095) ou peuvent être converties en une valeur décimale entre 0-1000. -10 3000 0 V =2047 (ou 500) 2000 1000 Valeur régistre 5V 0 V -5 V Entrée 0-1 V Valeur régistre 4095 (ou 1000) 4000 4095 (ou 1000) 4000 3000 3000 2000 2000 1000 1000 0V 0.5 V Valeur régistre 1.0 V Entrées ou Sorties 0-10 V 4095 (ou 1000) 4000 0 mA 20 mA Entrées ou Sorties 4-20 mA 4095 (ou 1000) 4000 3000 3000 2000 2000 1000 1000 0V Entrées ou Sorties 0-20 mA 10 mA Valeur régistre 10 5V 10 V 0 0 mA 4 mA 10 mA 20 mA Entrées/Sorties digitales rapides (disponible seulement sur cartes Actana-S2 et Actana-F utilisées en mode 1) Ces entrées peuvent travailler avec un niveau de tension de 5-27 V DC ( voyez le circuit électrique en page précédente). Ces trois signaux d'entrée peuvent être utilisés dans un programme PLC comme entrées traditionnelles X0-X2. Normalement, ces entrées possèdent un temps de filtration de 4 ms comme toutes entrées traditionnelles mais vous avez la possibilité de déconnecter ce temps de filtration en programmant la IN1 analogique en "pas de filtration" (voir en page suivante : Y82 = 0 et Y83 = 1). Les deux sorties digitales peuvent être utilisées en tant qu'adresses Y80-Y81 dans un programme. Cas d'utilisation d'entrées "non filtrée" : DIN1 Détection d'impulsions courtes, que le temps de DIN2 filtration et la durée de cycle masquerait. (Ce genre de problème se recontre fréquement et est généralement résolu en utilisant une électronique extérieure) 162 DIN3 X2 Même les impulsions courtes, inférieures au temps de cycle, d'une durée minimum de 200µs. seront détectées par ces trois entrées et le PLC. Cet état sera conservé jusqu'à la prochaine lecture des entrées. Cela signifie que ces impulsions seront détectées par le programme normal du PLC. Copyright Actron AB 1994 Informations particulières aux H200-H252 Programmation et adressage : • Mode 0: (compatible avec les Actana-S et Actana-F) Ce mode correspond à la fonction "maintien" des anciennes cartes Actana-1 et Actana-2 : Adressage Mode 1 Sélection carte 4WX/4WY au menu Setup PLC Mots (+ 10 x N° slot) Entrée Analog.1 Entrée Analog.2 Entrée Analog.3 Entrée Analog.4 Sortie Analog.1 Sortie Analog.2 Non utilisé Non utilisé Exemple: Attribuer au mot RESULTAT la valeur lue sur l'entrée analogique 2 dans le 2ème slot (slot 1) augmentée de la constante 100. WX0 WX1 WX2 WX3 WY4 WY5 WY6 WY7 WR0 = 100 + WX11 (RESULTAT = 100 + ANALOG 2) • Mode 1: (compatible avec les Actana-S et Actana-F) Temps de Filtration : Quatre différents temps de filtration sont disponibles sur chaque canal. La valeur d'entrée analogique correspondra à la moyenne des valeurs lues durant ce temps. Canal 1 Y82 0 0 1 1 *1 *2 Y83 0 1 0 1 Canal 2 Y84 Y85 0 0 0 1 1 0 1 1 Canal 3 Y86 Y87 0 0 0 1 1 0 1 1 Canal 4 Y88 Y89 0 0 0 1 1 0 1 1 Temps de filtration 4 ms Pas de filtration (en pratique, approx. 50 µs) *1 20 ms (filtre 50/60 Hz *2) 300 ms Si le canal 1 est réglé en mode "pas de filtration", toutes les entrées digitales de la carte (DIN1DIN3) travailleront également sans filtration. Atténue fortement l'influence des fréquences >= 50 Hz Facteur de conversion : Par défaut, le signal analogique 12 bits est transformé en une valeur décimale comprise entre 0-4095. Très souvent, il est alors nécessaire de convertir ce nombre en une valeur entre 0-100, 0-1000, 0-10000 etc. Comme ce calcul se fait sans virgule flottante, vous risquez alors de perdre de la précision. C'est pourquoi vous pouvez, par l'intermédiaire des sorties Y90-Y93, demander à la carte de vous présenter le niveau d'entrée au moyen d'une valeur directement comprise entre 0 et 1000. Les sorties Y94-Y95 feront de même pour les deux sorties analogiques. IN 1 Y90 0 1 IN 2 Y91 0 1 IN 3 Y92 0 1 Canaux analogiques IN 4 Y93 0 1 OUT 1 Y94 0 1 OUT 2 Y95 0 1 Plage de conversion de signal utilisée : 0 - 4095 0 - 1000 Exemple: H200-252. Si la plage de tension de l'entrée analogique 2 est 0-10V, un signal de 5 V sera représenté par 2048 si CONV IN 3 (Y90) est à 0 et par 500 si CONV IN 3 (Y90) est à 1. Information d'entrée en erreur : Si vos entrées analogiques fonctionnent en 4-20 mA, les entrées X8-X11 permettent de détecter un défaut. Tout signal d'entrée inférieur à 2 mA (capteur analogique en panne, fil déconnecté...) entrainera la mise à 1 de l'entrée X8-X11 correspondante. Copyright Actron AB 1994 163 Informations particulières aux H200-H252 Relais "Chien de garde" pour surveillance du CPU : Tant que la carte ACTANA (et le CPU !) fonctionne correctement, elle va toujours envoyer sur X7 un signal avec une fréquence de 3 - 4 Hz. Vous pouvez par exemple utiliser ce signal de la manière suivante : Bon fonctionnement X7 DIF IMPULSE Mauvais fonctionnement IMPULSE CPU ALARM Tempo réglé à 1.0 s Informations sur les réglages : Les entrées X12-X13 reflètent le mode de travail (0-3) sélectionné par Dip-Switches sur la carte, ce qui donne la possibilité au PLC de vérifier que les paramètres de travail attendus par le programme sont corrects. Pour une carte Actana-S, uniquement les modes 0-1 sont permis tandis que, pour une carte Actana-F, les modes 0-3 sont disponibles; de plus, pour cette dernière carte, le bit X15 est à l'état 1 ce qui permet de la différencier de le Actana-S. Le choix du type de PLC est indiqué par le bit X14 qui est à 1 si vous avez sélectionné un EM et à 0 si vous avez sélectionné un H200-H252. Séries H (Sélection carte FUN00 au menu Setup PLC) Adressage Mode 2 Mots (+ 10 * N° slot) Bits (+ 100 * N° slot) WX0 WX1 WX2 WX3 WX4 WY5 WY6 WY7 X0 - X15 Entrées digitales Entrée analogique 1 Entrée analogique 2 Entrée analogique 3 Entrée analogique 4 Sorties digitales Sortie analogique 1 Sortie analogique 2 Y80 - Y95 Sorties digitales (+100 * N° slot) Y80 Contact de la sortie digitale DOUT1 Y81 Contact de la sortie digitale DOUT2 Y82 Bit 1 choix temps filtration entrée analogique 1 Y83 Bit 2 choix temps filtration entrée analogique 1 Y84 Bit 1 choix temps filtration entrée analogique 2 Y85 Bit 2 choix temps filtration entrée analogique 2 Y86 Bit 1 choix temps filtration entrée analogique 3 Y87 Bit 2 choix temps filtration entrée analogique 3 Y88 Bit 1 choix temps filtration entrée analogique 4 Y89 Bit 2 choix temps filtration entrée analogique 4 Y90 Mode de conversion entrée analogique 1 Y91 Mode de conversion entrée analogique 2 Y92 Mode de conversion entrée analogique 3 Y93 Mode de conversion entrée analogique 4 Y94 Mode de conversion sortie analogique 1 Y95 Mode de conversion sortie analogique 2 Entrées digitales (+100 * N° slot) X0 Maintien information entrée rapide DIN1 X1 Maintien information entrée rapide DIN2 X2 Maintien information entrée rapide DIN3 X3 Non utilisé X4 Non utilisé X5 Non utilisé X6 Non utilisé X7 Chien de garde CPU (3 -4 Hz) X8 Erreur sur entrée analogique 1 X9 Erreur sur entrée analogique 2 X10 Erreur sur entrée analogique 3 X11 Erreur sur entrée analogique 4 X12 Mode sélectionné bit 0 (LSB) X13 Mode sélectionné bit 1 (MSB) X14 PLC sélectionné X15 Différentiation Actana-S / Actana-F Exemple: Lire l'entrée analogique 3 dans le 3ème slot (slot N° 2) et afficher le résultat sur le terminal ACTTERM-H (comme valeur dans le texte 15). Nous voulons une valeur analogique convertie entre 0 et 1000 et un filtre pour fréquence 50Hz (filtre 20 ms) sur le signal d'entrée. Condition CONV IN3 = 1 FILTER1 CH3 = 1 FILTER2 CH3 = 0 DISPLAY VALUE1 164 (Y90) (Y86) (Y87) = 15 = ANALOG 3 (WX23) Copyright Actron AB 1994 Informations particulières aux H200-H252 Carte ACTANA-F Mode 2 et Mode 3: (Mode de fonctionnement 0 et 1 sont identiques à la carte ACTANA-S) La carte Actana-F convient pour H200 et EM. Dans cette description, uniquement les adresses H200 sont utilisées. Consultez la notice Actana-F pour convertir les programmes et adressages pour le PLC EM. Circuits logiques à réaction rapide. La carte ACTANA possède une fonction "logique rapide" qui est partiellement programmable. En combinant les entrées rapides DIN1 et DIN2 et une logique plus lente de l'automate, vous pourrez commander les sorties Y80 et Y81 (DOUT1 et DOUT2) avec un temps de réaction n'excédant pas les 200 µs. La partie lente de la logique de commande ainsi que le mode de fonctionnement de la partie rapide peuvent être changés endéans un seul cycle de scrutation du PLC. Actana-F mode 3 Prg interne au PLC Sorties de PLC participant au circuit logique rapide DIN1 DIN2 Logique rapide DOUT1 (Définie par des sorties de PLC) DOUT2 Entrées et sorties rapides Information d'entrée Maintien des signaux La logique de commande des sorties DOUT1 et DOUT2 (les sorties rapides) utilise une combinaison de logique programmée dans le PLC, logique que nous appellerons partie lente, et l'état des entrées rapides DIN1 et DIN2. La partie lente sera programmée de façon traditionnelle dans l'automate (en ladder ou grafcet). Les sorties utilisées dans ce programme (Y80-Y83) prendront ensuite part à la commande rapide des sorties. La combinaison logique peut être choisie parmi la table intitulée "Combinaisons de circuits logiques rapides possibles...". Une telle combinaison sera déterminée par l'état des sorties Y84-Y89 elles mêmes commandées par le programme "lent" de l'automate. Considérez l'exemple d'enclenchement de DOUT1 suivant : Logique rapide Programme PLC Vous trouvez le circuit qui vous convient en position c/ dans la table "Combinaisons de circuits logiques rapides possibles..." à la page suivante. Cela signifie que vous devrez enclencher Y84 (Y85 est Off par défaut) et programmer les conditions d'enclenchement des sorties Y80 et Y81. │PLC DIN1 DOUT1 │ │COND1 │ ├──┤ ├────┤ ├─┬──────────( )─┤ │Y00080 │ │ │ │ │ │PLC DIN2 │ │ │COND2 │ │ ├──┤ ├────┤ ├─┘ │ │Y00081 │ │ │ Copyright Actron AB 1994 │ │ │ │ ├──────────────────────( )─┤ │ Y84 │ │logique lente 1 │ ├───┤ ├────────────────( )─┤ │ Y80 │ │logique lente 2 │ ├───┤ ├────────────────( )─┤ │ Y81 │ 165 Informations particulières aux H200-H252 Programme PLC Carte Actana-F Entrées et sorties rapides externes Y84 Y85 Défini la combinaison logique rapide choisie Y86 Y87 Y88 Y89 DIN1 DIN2 Contacts intervenants dans la partie logique "lente" Y80 Y81 Y82 Y83 Y90 Y91 X3 X2 X1 X0 │ │PLC DIN1 PLC DIN2 DOUT1 │COND1 COND2 ├──┤ ├────┤ ├────┤ ├────┤ ├────( ) DOUT1 │Y00080 Y00081 │ │ │ │PLC DIN1 DOUT2 DOUT2 │COND3 ├──┤ ├────┤ ├─┬────────────────( ) │Y00082 │ │ │ │PLC DIN2 │ │COND4 │ ├──┤ ├────┤ ├─┘ │Y00083 Traitement logique rapide Maintien des signaux Combinaisons de circuits logiques rapides possibles en mode 3: │ │ │ │ │PLC DIN1 PLC DIN2 DOUT1 │ │PLC DIN1 PLC DIN2 DOUT2 │ a/ e/ │COND1 COND2 │ │COND3 COND4 │ ├────┤ ├────┤ ├────┤ ├───────────( )─┤ ├────┤ ├────┤ ├────┤ ├─────────( )─┤ Y84=0 ├──┤ Y86=0 ├──┤ │Y00080 Y00081 │ │Y00082 Y00083 │ │ │ Y85=0 ││ Y87=0 ││ │ │ b/ Y84=1 Y85=0 c/ Y84=0 Y85=1 d/ Y84=1 Y85=1 166 DOUT1 =Y80*DIN1*Y81*DIN2 │ │ │PLC DIN1 PLC DIN2 DOUT1 │ │COND1 COND2 │ ├──┤ ├────┤/├────┤ ├────┤ ├───────────( )─┤ │Y00080 Y00081 │ │ │ DOUT1 =Y80*/DIN1*Y81*DIN2 │ │ │PLC DIN1 DOUT1 │ │COND1 │ ├──┤ ├────┤ ├─┬───────────────────────( )─┤ │Y00080 │ │ │ │ │ │PLC DIN2 │ │ │COND2 │ │ ├──┤ ├────┤ ├─┘ │ │Y00081 │ │ │ DOUT1 =Y80*DIN1+Y81*DIN2 │ │ │PLC DIN1 DOUT1 │ │COND1 │ ├──┤ ├────┤/├─┬───────────────────────( )─┤ │Y00080 │ │ │ │ │ │PLC DIN2 │ │ │COND2 │ │ ├──┤ ├────┤ ├─┘ │ │Y00081 │ │ │ DOUT1 =Y80*/DIN1+Y81*DIN2 f/ Y86=1 Y87=0 g/ Y86=0 Y87=1 h/ Y86=1 Y87=1 DOUT2 =Y82*DIN1*Y83* DIN11 │ │ │PLC DIN1 PLC DIN2 DOUT2 │ │COND3 COND4 │ ├──┤ ├────┤/├────┤ ├────┤ ├─────────( )─┤ │Y00082 Y00083 │ │ │ DOUT2 =Y82*/DIN1*Y83*DIN2 │ │ │PLC DIN1 DOUT2 │ │COND3 │ ├──┤ ├────┤ ├─┬─────────────────────( )─┤ │Y00082 │ │ │ │ │ DIN2 │ │PLC │ │COND4 │ │ ├──┤ ├────┤ ├─┘ │ │Y00083 │ │ │ DOUT2 =Y82*DIN1+Y83*DIN2 │ │ │PLC DIN1 DOUT2 │ │COND3 │ ├──┤ ├────┤/├─┬─────────────────────( )─┤ │Y00082 │ │ │ │ │ │PLC DIN2 │ │ │COND4 │ │ ├──┤ ├────┤ ├─┘ │ │Y00083 │ │ DOUT2 =Y82*/DIN1+Y83*DIN2 Copyright Actron AB 1994 Informations particulières aux H200-H252 Exemple (mode 2): Y84=0, Y85=1, Cas c/ dans la table Y86=1, Y87=0 Cas f/ dans la table DOUT1= Y80*DIN1+Y81*DIN2 DOUT2= Y82*/DIN1*Y83*DIN2 Du point de vue programme automate, ces conditions peuvent se traduire par : Programme PLC : Circuits logiques rapides : │ │ │PLC DIN1 DOUT1 │ │COND1 │ ├──┤ ├────┤ ├─┬───────────────────────( )─┤ │Y00080 │ │ │ │ │ │PLC DIN2 │ │ │COND2 │ │ ├──┤ ├────┤ ├─┘ │ │Y00081 │ │ │ │ │ │PLC DIN1 PLC DIN2 DOUT2 │ │COND3 COND4 │ ├──┤ ├────┤/├────┤ ├────┤ ├───────────( )─┤ │Y00082 Y00083 │ Globalement, ces circuits sont équivalents au schéma suivant : Y80 DIN0 DOUT0 DIN1 Y81 Partie Rapide Y83 Y82 DIN0 DIN1 DOUT1 Partie rapide Comme le CPU de l'automate est plus lent que la logique intégrée à la carte ACTANA, les signaux DIN1, DIN2, DOUT1 et DOUT2 sont connectés aux entrées X0, X1, X2 et X3. Lorsque les E/S rapides passent à 1, les entrées correspondantes passent aussi à 1 et restent dans cet état jusqu'à la prochaine lecture des entrées par le PLC. Après cette lecture, elles reprennent le même état logique que DIN1-DOUT2 ce qui permet de signaler à l'automate tout changement d'état. X0 et X1 peuvent donc servir à détecter et maintenir l'état des entrées rapides DIN1 et DIN2. Copyright Actron AB 1994 DIN1 Entrée rapide 1 Maintien information entrée rapide 1 DIN2 Entrée rapide 2 Maintien information entrée rapide 2 DOUT1 X2 DOUT2 Sortie rapide 1 Maintien information sortie rapide 1 Sortie rapide 2 Maintien information sortie rapide 2 167 Informations particulières aux H200-H252 Description générale des circuits logiques rapides : Mode 3 DOUT1 =Y80* a DIN1 b Y81*DIN2 DOUT2 =Y82* c DIN1 d Y83*DIN2 Où a est la fonction normale ou l'inverse (NOT) de DIN1 (normale si Y84 = "0" et / (inverse) si Y84 = "1") Où b est un "*" (AND) ou "+" (OR) Booléen ("*" si Y85 = "0" et "+" si Y85 = "1") Où c est la fonction normale ou l'inverse (NOT) de DIN1 (normale si Y86 = "0" et / (inverse) si Y86 = "1") Où d est un "*" (AND) ou "+" (OR) Booléen ("*" si Y87 = "0" et "+" si Y87 = "1") Fonction de Maintien et de contrôle direct des sorties en mode 2 : a DIN1 b Y81*DIN2 + Y90 * e DOUT2 =Y82* c DIN1 d Y83*DIN2 + Y91 * f DOUT1 =Y80* Où e est un contact de la sortie DOUT1 ou une condition VRAIE (”DOUT1” si Y88 = ”1” et ”VRAIE” si Y88 = ”0”) Où f est un contact de la sortie DOUT2 ou une condition VRAIE (”DOUT2” si Y89 = ”1” et ”VRAIE” si Y89 = ”0”) Cette fonction permet de programmer un circuit en parallèle avec le circuit logique rapide décrit plus haut. Y88 =0: Donne la possibilité de commander en direct la sortie rapide DOUT1 si le circuit supérieur n'est pas passant. Y88 =1 Permet de programmer un circuit d'auto-maintien de la sortie rapide DOUT1, Y90 servant alors à faire retomber ce maintien. Y89 =0: Donne la possibilité de commander en direct la sortie rapide DOUT2 si le circuit supérieur n'est pas passant. Y89 =1 Permet de programmer un circuit d'auto-maintien de la sortie rapide DOUT2, Y91 servant alors à faire retomber ce maintien. 168 │ DOUT1 │ │ Y80* a DIN1 b Y81*DIN2 │ ├──┤ ├─┬───────( )─┤ │ │ │ │ │ │ │DOUT1 │ │ │HOLD │ │ ├──┤ ├──────────────────────┘ │ │Y00090 │ │ DOUT1 │ │ b Y81*DIN2 ├─┬───────( )─┤│ ├──┤Y80* a DIN1 │ │ │ │ │ │ │DOUT1 DOUT1 │ │ │HOLD │ │ ├──┤ ├───┤ ├────────────────┘ │ │Y00090 │ │ DOUT2 │ │ │ Y82* c DIN1 d Y83*DIN2 ├──┤ ├─┬───────( )─┤ │ │ │ │ │ │ │DOUT2 │ │ │HOLD │ │ ├──┤ ├──────────────────────┘ │ │Y00091 │ │ DOUT2 │ │ Y82* c DIN1 d Y83*DIN2 │ ├──┤ ├─┬───────( )─┤ │ │ │ │ │ │ │DOUT1 DOUT2 │ │ │HOLD │ │ ├──┤ ├───┤ ├────────────────┘ │ │Y00091 │ Copyright Actron AB 1994 Informations particulières aux H200-H252 Combinaison de circuits logiques rapides possibles en mode 2 : │ │ │ │ │PLC DIN1 PLC DIN2 DOUT1 │ │PLC DIN1 PLC DIN2 DOUT2 │ i/ q/ │COND1 COND2 │ │COND3 COND4 │ ├──┤ ├────┤ ├────┤ ├────┤ ├─┬───────( )─┤ ├──┤ ├────┤ ├────┤ ├────┤ ├─┬───────( )─┤ Y84=0 │Y00080 Y86=0 │Y00082 Y00081 │ │ Y00083 │ │ │ │ │ │ Y85=0 ││DOUT1 Y87=0 ││DOUT2 │ │ │ │ │HOLD │ │ │HOLD │ │ ├──┤ ├──────────────────────┘ │ ├──┤ ├──────────────────────┘ │ Y88=0 │Y00090 Y89=0 │ │Y00091 │ │ j/ Y84=0 Y85=0 Y88=1 k/ Y84=1 Y85=0 Y88=0 l/ Y84=1 Y85=0 Y88=1 m/ Y84=0 Y85=1 Y88=0 n/ Y84=0 Y85=1 Y88=1 o/ Y84=1 Y85=1 Y88=0 p/ Y84=1 Y85=1 Y88=1 DOUT1=Y80*DIN1*Y81*DIN2+Y90 │ │ │ │PLC DIN1 PLC DIN2 DOUT1 │ │COND1 COND2 │ ├──┤ ├────┤ ├────┤ ├────┤ ├─┬───────( )─┤ │Y00080 Y00081 │ │ │ │ │ │DOUT1 DOUT1 │ │ │HOLD │ │ ├──┤ ├────┤ ├───────────────┘ │ │Y00090 │ DOUT1=Y80*DIN1*Y81*DIN2+Y90*DOUT1 │ │ DIN2 DOUT1 │ │PLC DIN1 PLC │COND1 COND2 │ ├──┤ ├────┤/├────┤ ├────┤ ├─┬───────( )─┤ │Y00080 Y00081 │ │ │ │ │ │DOUT1 │ │ │HOLD │ │ ├──┤ ├──────────────────────┘ │ │Y00090 │ │ │ DOUT1=Y80*/DIN1*Y81*DIN2+Y90 │ │ │PLC DIN1 PLC DIN2 DOUT1 │ │COND1 COND2 │ ├──┤ ├────┤/├────┤ ├────┤ ├─┬───────( )─┤ │Y00080 Y00081 │ │ │ │ │ │DOUT1 DOUT1 │ │ │HOLD │ │ ├──┤ ├────┤ ├───────────────┘ │ │Y00090 │ DOUT1=Y80*/DIN1*Y81*DIN2+Y90*DOUT1 │ │ DIN1 DOUT1 │ │PLC │COND1 │ ├──┤ ├────┤ ├─┬─────────────────────( )─┤ │Y00080 │ │ │ │ │ │PLC DIN2 │ │ │COND2 │ │ ├──┤ ├────┤ ├─┤ │ │Y00081 │ │ │ │ │ │DOUT1 │ │ │HOLD │ │ ├──┤ ├────────┘ │ │Y00090 │ DOUT1=Y80*DIN1+Y81*DIN2+Y90 │ │ │PLC DIN1 DOUT1 │ │COND1 │ ├──┤ ├────┤ ├─┬─────────────────────( )─┤ │Y00080 │ │ │ │ │ │PLC DIN2 │ │ │COND2 │ │ ├──┤ ├────┤ ├─┤ │ │Y00081 │ │ │ │ │ │DOUT1 DOUT1 │ │ │HOLD │ │ ├──┤ ├────┤ ├─┘ │ │Y00090 │ DOUT1=Y80*DIN1+Y81*DIN2+Y90*DOUT1 │ │ │PLC DIN1 DOUT1 │ │COND1 │ ├──┤ ├────┤/├─┬─────────────────────( )─┤ │Y00080 │ │ │ │ │ │PLC DIN2 │ │ │COND2 │ │ ├──┤ ├────┤ ├─┤ │ │Y00081 │ │ │ │ │ │DOUT1 │ │ │HOLD │ │ ├──┤ ├────────┘ │ │Y00090 │ DOUT1=Y80*/DIN1+Y81*DIN2+Y90 │ │ │PLC DIN1 DOUT1 │ │COND1 │ ├──┤ ├────┤/├─┬─────────────────────( )─┤ │Y00080 │ │ │ │ │ │PLC DIN2 │ │ │COND2 │ │ ├──┤ ├────┤ ├─┤ │ │Y00081 │ │ │ │ │ │DOUT1 DOUT1 │ │ │HOLD │ │ ├──┤ ├────┤ ├─┘ │ │Y00090 │ │ DOUT1=Y80*/DIN1+Y81*DIN2+Y90*DOUT1 │ Copyright Actron AB 1994 r/ Y86=0 Y87=0 Y89=1 s/ Y86=1 Y87=0 Y89=0 t/ Y86=1 Y87=0 Y89=1 u/ Y86=0 Y87=1 Y89=0 v/ Y86=0 Y87=1 Y89=1 w/ Y86=1 Y87=1 Y89=0 z/ Y86=1 Y87=1 Y89=1 │ │ │ DOUT2=Y82*DIN1*Y83*DIN2+Y91 │ │ │PLC DIN1 PLC DIN2 DOUT2 │ │COND3 COND4 │ ├──┤ ├────┤ ├────┤ ├────┤ ├─┬───────( )─┤ │Y00082 Y00083 │ │ │ │ │ │DOUT2 DOUT2 │ │ │HOLD │ │ ├──┤ ├────┤ ├───────────────┘ │ │Y00091 │ DOUT2=Y82*DIN1*Y83*DIN2+Y91*DOUT2 │ │PLC DIN1 PLC DIN2 DOUT2 │ │COND3 COND4 │ ├──┤ ├────┤/├────┤ ├────┤ ├─┬───────( )─┤ │Y00082 Y00083 │ │ │ │ │ │DOUT2 │ │ │HOLD │ │ ├──┤ ├──────────────────────┘ │ │Y00091 │ │ │ DOUT2=Y82*/DIN1*Y83*DIN2+Y91 │ │ │PLC DIN1 PLC DIN2 DOUT2 │ │COND3 COND4 │ ├──┤ ├────┤/├────┤ ├────┤ ├─┬───────( )─┤ │Y00082 Y00083 │ │ │ │ │ │DOUT2 DOUT2 │ │ │HOLD │ │ ├──┤ ├────┤ ├───────────────┘ │ │Y00091 │ DOUT2=Y82*/DIN1*Y83*DIN2+Y91*DOUT2 │ │ │PLC DIN1 DOUT2 │ │COND3 │ ├──┤ ├────┤ ├─┬─────────────────────( )─┤ │Y00082 │ │ │ │ │ │PLC DIN2 │ │ │COND4 │ │ ├──┤ ├────┤ ├─┤ │ │Y00083 │ │ │ │ │ │DOUT2 │ │ │HOLD │ │ ├──┤ ├────────┘ │ │Y00091 │ DOUT2=Y82*DIN1+Y83*DIN2+Y91 │ │ │PLC DIN1 DOUT2 │ │COND3 │ ├──┤ ├────┤ ├─┬─────────────────────( )─┤ │Y00082 │ │ │ │ │ │PLC DIN2 │ │ │COND4 │ │ ├──┤ ├────┤ ├─┤ │ │Y00083 │ │ │ │ │ │DOUT2 DOUT2 │ │ │HOLD │ │ ├──┤ ├────┤ ├─┘ │ │Y00091 │ DOUT2=Y82*DIN1+Y83*DIN2+Y91*DOUT2 │ │ │PLC DIN1 DOUT2 │ │COND3 │ ├──┤ ├────┤/├─┬─────────────────────( )─┤ │Y00082 │ │ │ │ │ │PLC DIN2 │ │ │COND4 │ │ ├──┤ ├────┤ ├─┤ │ │Y00083 │ │ │ │ │ │DOUT2 │ │ │HOLD │ │ ├──┤ ├────────┘ │ │Y00091 │ DOUT2=Y82*/DIN1+Y83*DIN2+Y91 │ │ │PLC DIN1 DOUT2 │ │COND3 │ ├──┤ ├────┤/├─┬─────────────────────( )─┤ │Y00082 │ │ │ │ │ │PLC DIN2 │ │ │COND4 │ │ ├──┤ ├────┤ ├─┤ │ │Y00083 │ │ │ │ │ │DOUT2 DOUT2 │ │ │HOLD │ │ ├──┤ ├────┤ ├─┘ │ │Y00091 │ DOUT2=Y82*/DIN1+Y83*DIN2+Y91*DOUT2 169 Informations particulières aux H200-H252 Exemple d'application : Une machine produisant des composants à très haute cadence doit couper et percer des pièces avec un temps de réaction très court lorsque deux détecteurs indiquent la fin du produit. Mais, différentes pièces passant dans la même machine, il ne faudra percer que les pièces B si le détecteur 2 est enclenché tandis que toutes les pièces (A,B,D) seront percées si c'est le détecteur 1 qui est enclenché. Toutes les pièces seront coupées dès que le détecteur 2 est activé. Pour assurer la précision demandée par le client, le temps de réponse entre la détection de la pièce et la commande de coupage et perçage ne devra pas dépasser les 400 et 300µs indépendamment du temps de cycle de l'automate. Détecteur 1 (DIN1) Détecteur 2 (DIN2) Sortie "coupage" Maintenu 50 ms (DOUT1) Sortie "perçage" (DOUT2) Seulement pièces B max 400 µs Pièces A, B et D max 300µs Il est évident qu'il n'est pas possible d'assurer de tels temps de réponse avec un programme d'automate et des entrées traditionnelles; même si vous utilisez des routines d'interruption, le temps de réponse minimum sera de l'ordre de 2ms. L'utilisation de la carte Actana-F et de sa logique rapide est dès lors une excellente solution. Voici le programme nécessaire dans ce cas : Fonction désirée → │ │ DOUT1 │ │AUTO DIN2 │ │ ├──┤ ├────┤ ├─┬─────────────────────( )─┤ │R000 │ │ │ │ │ │HOLD DOUT1 │ │ │TIME │ │ ├──┤/├────┤ ├─┘ │ │TD0 │ │ │ │DOUT1 HOLD │ │ TIME │ ├──┤ ├──────────────────────────────( )─┤ │ 5 │ │ x0.01s│ │ │ │ │ │AUTO PROD DIN1 DOUT2 │ │ A │ ├──┤ ├─┬──┤ ├─┬──┤ ├─┬──────────────( )─┤ │R000 │R001 │ │ │ │ │ │ │ │ │ │PROD │ │ │ │ │B │ │ │ │ ├──┤ ├─┤ │ │ │ │R002 │ │ │ │ │ │ │ │ │ │PROD │ │ │ │ │D │ │ │ │ └──┤ ├─┘ │ │ │ R003 │ │ │ │ │ │AUTO PROD DIN2 │ │ │ B │ │ ├──┤ ├────┤ ├────┤ ├─┤ │ │R000 R002 │ │ │ │ │ │AUTO PUSH │ │ │ BUT │ │ ├──┤/├────┤ ├────────┘ │ │R000 X00100 │ │ │ Explication → Circuits adaptés → Trouvez dans la table │Y80 tjrs à 0 │ Y81 │ │ précédente le circuit │AUTO DIN2 DOUT1 │ "logique rapide" équi- │├──┤ ├────┤ ├─┬─────────────────────( )─┤│Bloc n/ │ │ valent. L'alternative n/ │R000 │ │ │ │HOLD DOUT1 │ │Y84=0 convient si la branche │TIME │ │ ├──┤/├────┤ ├─┘ │Y85=1 supérieure peut être │TD0 │ │ │Y88=1 Y90 désactivée (Si Y80 │DOUT1 HOLD │ TIME │ │ reste toujours à 0, en ├──┤ ├──────────────────────────────( )─┤ │ 5 │ │ x0.01s│ pratique la branche │ │ │ │ supérieure est bien DOUT2 │ │AUTO PROD DIN1 │ A │ inactivée). ├──┤ ├─┬──┤ ├─┬──┤ ├─┬──────────────( )─┤ Bloc u/ │R000 │R001 │ │ │ Dans ce deuxième cas, l'alternative u/ convient parfaitement. │ │ │ │ │ │PROD │ │ │ │B │ │ │ ├──┤ ├─┤ │ │ │R002 │ │ │ │ │ │ │ │PROD │ │ │ │D │ │ │ └──┤ ├─┘ │ │ R003 │ │ │ │AUTO PROD DIN2 │ │ B │ ├──┤ ├────┤ ├────┤ ├─┤ │R000 R002 │ │ │ │AUTO PUSH │ │ BUT │ ├──┤/├────┤ ├────────┘ │R000 X00100 │ Y82 Y83 Y91 │ │ │ │ Y86=0 │ │ Y87=1 │ │ Y89=0 │ │ │ │ │ │ │ │ │ │ │ │ │ Suite à la page suivante. 170 Copyright Actron AB 1994 Informations particulières aux H200-H252 Programme PLC (Mode2 sélectionné sur la carte) │ **** Definition des circuits logiques rapides ********** │ ┌──────────────────────────┐│ (Y84) ││ │ │LOGIC DEF1 = 0 ├────────────────────────────┤LOGIC DEF2 = 1 (Y85) ││ │ │LOGIC DEF3 = 0 (Y86) ││ │ │LOGIC DEF4 = 1 (Y87) ││ │ │DOUT1CONTR = 1 (Y88) ││ │ │DOUT2CONTR = 0 (Y89) ││ │ └──────────────────────────┘│ │ │ ***** Commande de la sortie de coupage DOUT1 X002 signale queDOUT1 est enclenchee. │ │ TD0 fait retomber le maintien apres 50 ms. │ │AUTO PLC │ │ COND2 │ ├──┤ ├───────────────────────────────────────────────( )─┤ │R000 Y00081│ │ │ │HOLD DOUT1 │ │TIME HOLD │ ├──┤/├───────────────────────────────────────────────( )─┤ Y00090│ │TD0 │ │ │DOUT1 HOLD │ │INFO TIME │ ├──┤ ├───────────────────────────────────────────────( )─┤ │X00002 5 │ │ x0.01s│ │ │ │ ***** Commande de la sortie de percage DOUT2 │ Le bouton poussoir (Pushbut) permet une commande │ directe de la sortie en mode manuel. │ │AUTO PROD PLC │ │ A COND3 │ ├──┤ ├─┬──┤ ├─┬──────────────────────────────────────( )─┤ │R000 │R001 │ Y00082│ │ │ │ │ │ │PROD │ │ │ │B │ │ │ ├──┤ ├─┤ │ │ │R002 │ │ │ │ │ │ │ │PROD │ │ │ │D │ │ │ └──┤ ├─┘ │ │ R003 │ │ │ │AUTO PROD PLC │ B COND4 │ │ ├──┤ ├────┤ ├────────────────────────────────────────( )─┤ │R000 R002 Y00083│ │ │ │ │ │AUTO PUSH DOUT2 │ │ BUT CONTR │ ├──┤/├────┤ ├────────────────────────────────────────( )─┤ Y00091│ │R000 X00100 │ │ *1 Commentaires Définition des circuits logiques rapides n/ et u/. *1 Défini la condition mise en série avec DIN2 dans le premier circuit logique. Défini la condition de maintien de la sortie DOUT1.. Programme du tempo de maintien de DOUT1 (X2 donnant l'état de DOUT1) Défini la condition mise en série avec DIN1 dans la première branche du deuxième circuit logique. Défini la condition mise en série avec DIN2 dans la deuxième branche du même circuit. Défini le contrôle direct de la sortie DOUT2 dans le deuxième circuit.. Les instructions du type ”LOGIC DEF1 = 0" peuvent être omises puisque une variable interne est à zéro par défaut si elle n'est pas utilisée. Ces sorties peuvent aussi être commandées comme des sorties traditionnelles ce qui montre bien qu'elles peuvent aussi changer d'état en cours de cycle; cette technique peut d'ailleurs être utilisée pour modifier aussi souvent que vous le souhaitez le fonctionnement des circuits de logique rapide durant l'exécution du programme. Afin de réaliser des applications nécessitant un positionnement précis et une logique rapide, vous pouvez combiner une carte de comptage rapide CTH et une carte rapide Actana-F. Raccorder pour cela une des sorties du CTH à une des entrées (DIN1 ou DIN2) de la carte Actana-F et vous pourez ainsi profiter des capacités de comtage rapide du compteur et du temps de réponse extrèmement court des circuits de logiques rapides de la carte Actana-F. (voyez la description de la carte CTH en page 199 ) Copyright Actron AB 1994 171 Informations particulières aux H200-H252 Lecture valeurs instantannées des entrées analogiques : (Mode 2 et 3) Une des entrées digitales rapides (DIN3) est réservée pour lire et mémoriser la valeur instantanée des quatre entrées analogiques. Y90 = 0 (Cde prise série d'échantillons précis = Off) en cas de mode 3 Y91 = 0 (Cde interne de prise d'échantillons = Off) en cas de mode 3 Cde prise valeur instantanée DIN3 Mémo. enclenchement DIN3 X4 X90 X90 = 0 X91 X91 = 0 Valeur instantanée Analog.1 Valeur analog. entrée 1 Valeur analog. entrée 2 Lorsque DIN3 passe à 1, X4 s'enclenche et la valeur courante des entrées analogiques 1-4 est gelée et garde le même niveau jusqu'à la lecture suivante de l'état des entrées (I/O Update). Ensuite, ces valeurs seront à nouveau le reflet du niveau réel des entrées analogiques; X4 fait de même suivant l'état de DIN3. Valeur instantanée Analog.2 Valeur instantanée Analog.3 Valeur analog. entrée 3 Valeur analog. entrée 4 Valeur instantanée Analog.4 Quand l'entrée X4 est enclenchée, l'automate peut détecter que la prise de valeurs instantanées a été réalisée et entreprendre les actions adéquates. (X4 peut aussi simplement servir à détecter une courte impulsion sur l'entrée rapide DIN3) Exemple de programme. Lorsque la prise de valeurs instantanées a été détectée (X4 = On), le programme copie durant la scrutation suivante ces valeurs dans les variables internes ANALOG0 à ANALOG3. Prise d'une série d'échantillons précis : (Mode 3) Y90 =1 (Cde prise série d'échantillons précis = On) Le fonctionnement des entrées analogiques 2-4 est identique à ci-dessus. Lorsque DIN3 passe à 1, la carte Actana procède à la prise d'une série de 170 échantillons depuis l'entrée analogique 1; l'intervalle de temps entre deux prises d'échantillons est déterminé par l'état des sorties Y88, Y89. L'entrée X5 passe à 1 pour signaler que les 170 échantillons ont été pris; X5 repassera à 0 dès que vous aurez lu les 170 valeurs mémorisées dans la carte. La valeur analogique, gelée durant la prise et la lecture des échantillon, sera à nouveau le reflet réel du niveau d'entrée. Cette prise d'échantillons peut aussi être démarrée de façon interne en enclenchant la sortie Y91 ce qui aura le même effet que si l'entrée DIN3 avait été activée. En pratique, le démarrage de cette procédure est commandée par l'équation Booléenne suivante : Début échantillonage = DIN3 + Y91. 172 Copyright Actron AB 1994 etc. DIN3 ou I/O Update I/O Update I/O Updat Sample no170 I/O Update I/O Updat Sample no4 I/O Updat Sample no5 Sample no3 Sample no2 Sample no1 I/O Updat Informations particulières aux H200-H252 Lecture Lecture Lecture valeur valeur valeur 1 etc... 2 Lecture valeur 170 X4 X5 Y90 = 1 Valeur analogique entrée 1 Valeurs gelées durant la prise d'échantillons Dernier échantillon = échantillon N°170 Les valeurs réelles sont à nouveau lues Valeurs analogiques entrées 2-4 Pour permettre une grande précision dans les intervalles de temps entre les différentes prises d'échantillons, les valeurs d'entrées analogiques 2-4 sont gelées jusqu'à ce que l'opération soit terminée. Veuillez noter que, pour les mêmes raisons, la gestion des circuits logiques rapides est également suspendue. Prise d'échantillons sans arrêter les autres fonctions : (Mode 3) Y90 = 0 (Cde prise série d'échantillons précis = Off) Y91 = 1 (Cde interne de prise d'échantillons = On) Si la sortie Y91 passe à 1 alors que Y90 reste à 0, la prise d'échantillons est démarrée et continuera jusqu'à ce que Y91 passe à 0 ou que les 170 échantillons aient été pris. Les valeurs mémorisées sur la carte peuvent ensuite être lues de la même manière que ci-dessus. Dans ce mode, les autres opérations supervisées par la carte restent actives ce qui signifie que les intervalles de temps entre les prises d'échantillons d'une série peuvent varier d'approximativement 250µs; la précision de cette mesure est donc moins haute que dans le cas précédent, surtout pour les sélections d'intervalles de 250 et 500µs (voir table d'enclenchement des sorties Y88, Y89). Exemple de programme de lecture des échantillons : Quand X5 passe à 1, la lecture des échantillons peut commencer. Le mot POINTER est mis à 0. Le PLC lit une valeur à chaque scrutation jusqu'à ce que toutes les valeurs soient attribuées (X5 = Off) au mot MEMORY et suivants par le biais de l'adressage indirect. Copyright Actron AB 1994 POINTER =0 X5 DIF0 X5 MEMORY(POINTER) = ANALOG1 POINTER = POINTER + 1 173 Informations particulières aux H200-H252 Exemple d'application : L'évolution de la pression des gaz dans un Air-Bag doit être analysée. Le processus complet ne dure qu'une courte période (100ms maximum). L'utilisateur souhaite connaître la valeur maximum de cette pression (amplitude et moment). Un digital est émis pour signaler la mise à feu de la cartouche explosive. Utilisez la carte Actana-F en mode 3. Raccordez le signal de mise à feu à l'entrée DIN3 et le capteur de pression sur l'entrée analogique 1. Prévoyez pour la prise d'échantillons un intervalle de temps de 1ms (ce qui signifie que les 170 échantillons couvriront une période de 170mS). Il est bien entendu nécessaire de supprimer le temps de filtration sur l'entrée analogique 1 (Y92 = 1). Intervalle de prise d'échantillons Amplitude maxi Input DIN3 Evolution du signal analogique sur une courte période 50 100 time for max. ms │ **** Selection intervalle de prise echantillons de 1000 micro s. │ Selection "pas de filtration" sur entree analogique 1 │ Selection echelle de conversion 0-1000. │ Selection du mode "Prise serie echantillons precis". │ ┌────────────────────────────────────────────┐│ 1│ │SAMPL PER1 = 0 (Y88) ││ ├────────────────────────────┤SAMPL PER2 = 1 (Y89) ││ │ │FILT TIME1 = 1 (Y92) ││ = 1 (Y94) │ │CONV IN ││ │ │REPEAT CON = 1 (Y90) ││ │ └────────────────────────────────────────────┘│ │ │ │ **** X5 demmare la lecture des echantillons. │ La valeur maximum est stockee dans MAX VALUE │ En fin de travail,(X5 = Off) RESULT recoit la valeur de MAX VALUE. │SAMP ┌────────────────────────────────────────────┐│ 2│READ EDGE1 │SAMPLE CNT = 0 ││ ├──┤ ├───┤ ├─────────────────┤MAX VALUE = 0 ││ │X00005 DIF0 │ ││ │ └────────────────────────────────────────────┘│ │ │ │SAMP ┌────────────────────────────────────────────┐│ 3│READ = MAX VALUE < ANALOG1 │NEW MAX ││ ├──┤ ├───────────────────────┤ ││ │X00005 │ ││ │ └────────────────────────────────────────────┘│ │ │ │NEW SAMP ┌────────────────────────────────────────────┐│ 4│MAX READ │MAX VALUE = ANALOG1 ││ ├──┤ ├───┤ ├─────────────────┤ ││ │R005 X00005 │ ││ │ └────────────────────────────────────────────┘│ │ │ │SAMP ┌────────────────────────────────────────────┐│ 5│READ │RESULT = MAX VALUE ││ ├──┤/├───────────────────────┤ ││ │X00005 │ ││ │ └────────────────────────────────────────────┘│ 174 Copyright Actron AB 1994 Informations particulières aux H200-H252 Temps de filtration : (Mode 2 et 3) En standard, un temps de filtration de 4 ms est prévu sur chaque entrée analogique pour éviter de prendre en compte des valeurs "parasites". La valeur d'entrée analogique correspondra à la moyenne des valeurs lues durant ce temps. Si aucune filtration n'est souhaitée, elle peut être désactivée en enclenchant les sorties Y92- Y93. Y92 = 0 Y92 = 1 Y93 = 0 Y93 = 1 Filtre standard sur entrée analogique 1 (4 ms) Pas de filtration sur entrée analogique 1 Filtre standard sur entrées analogiques 2-4 (4 ms) Pas de filtration sur entrées analogiques 2-4 Intervalle de temps entre deux prises d'échantillons : (mode 3) Y88 0 0 1 1 Y89 0 1 0 1 Intervalle de temps 250 µs 500 µs 1000 µs (1 ms) 5000 µs (5 ms) Facteur de conversion : Par défaut, le signal analogique 12 bits est transformé en une valeur décimale comprise entre 0-4095. Très souvent, il est alors nécessaire de convertir ce nombre en une valeur entre 0-100, 0-1000, 0-10000 etc. Comme ce calcul se fait sans virgule flottante, vous risquez alors de perdre de la précision. C'est pourquoi vous pouvez, par l'intermédiaire de la sortie Y94, demander à la carte de vous présenter le niveau des entrées analogiques 1-4 au moyen d'une valeur directement comprise entre 0 et 1000. La sortie Y95 fera de même pour les deux sorties analogiques. Canaux analogiques Entrées Sorties Y94 Y95 0 0 1 1 Mode de conversion utilisé 0 - 4095 0 - 1000 Informations sur les réglages : Les entrées X12-X13 donnent une information sur le mode (0-3) de travail de la carte Actana pour permettre au programme de l'automate de vérifier que ces paramètres sont corrects. X12 X13 Mode N° X14 Type de PLC X15 Type de carte 0 0 Mode 0 0 Séries H 0 Actana - S 0 1 Mode 1 1 Séries EM 1 Actana - F 1 0 Mode 2 1 1 Mode 3 Copyright Actron AB 1994 175 Informations particulières aux H200-H252 Entrées digitales (+100 * N° slot) : mode 2 et 3 Sorties Digitales (+100 * N° slot) : mode 2 X0 X1 X2 X3 X4 Y80 Y81 Y82 Y83 Y84 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 Maintien information entrée rapide DIN1 Maintien information entrée rapide DIN2 Maintien information sortie rapide DOUT1 Maintien information sortie rapide DOUT2 Maintien information entrée rapide DIN2 ou information début échantillonnage Fin prise/lecture des échantillons Non utilisé Chien de garde CPU, 3 - 4 Hz Erreur sur entrée analogique 1 Erreur sur entrée analogique 2 Erreur sur entrée analogique 3 Erreur sur entrée analogique 4 Mode sélectionné bit 0 (LSB) Mode sélectionné bit 1 (MSB) PLC sélectionné Différentiation Actana-S / Actana-F Type d'E/S analog. Signaux admissibles Impédance Résolution Temps de conversion Courant minimum Nombre de canaux Courant de pointe Isolation des entrées Consomation CH1 par CH2 canaux CH3 176 Y88 Y89 Y90 Y91 Y92 Y93 Y94 Y95 Contact d'enclenchement 1 de DOUT1 Contact d'enclenchement 2 de DOUT1 Contact d'enclenchement 1 de DOUT2 Contact d'enclenchement 2 de DOUT2 Choix combinaison logique d'enclenchement de DOUT1 (bit 1) Choix combinaison logique d'enclenchement de DOUT1 (bit 2) Choix combinaison logique d'enclenchement de DOUT2 (bit 1) Choix combinaison logique d'enclenchement de DOUT2 (bit 2) Maintien ou cde directe de DOUT1 Maintien ou cde directe de DOUT2 Retombée maintien ou cde directe de DOUT1 Retombée maintien ou cde directe de DOUT2 Choix du filtre pour entrée analogique 1 Choix du filtre pour entrées analogiques 2-4 Mode de conversion des entrées analogiques Mode de conversion des sorties analogiques Mode 3 Y80 Y81 Y82 Y83 Y84 Y85 Y87 Y88 Y89 Y90 Y91 Y92 Y93 Y94 Y95 Comme ci-dessus Comme ci-dessus Comme ci-dessus Comme ci-dessus Comme ci-dessus Comme ci-dessus Comme ci-dessus Intervalle entre prise échantillons (bit 1) Intervalle entre prise échantillons (bit 2) Prise d'une série d'échantillons précis Cde interne de prise d'une série d'échantillons Comme ci-dessus Comme ci-dessus Comme ci-dessus Comme ci-dessus Y85 Y86 Y87 ACTANA-S1 / ACTANA-1 Entrées Courant ou tension ACTANA-S2 / ACTANA-1 Sorties Courant ou tension 0-10 V , 0-1 V DC, 0-20 mA, 4-20 mA 0-10 V , -10 ON +10 V DC, 0-20 mA, 4-20 mA 12 bits +/- 0.5% Inférieur à une scrutation 12 bits +/- 1% Inférieur à une scrutation 4 entrées Libre de potentiel (750 V entre les canaux) 70 mA 180 mA 2 entrées 70 mA 180 mA Copyright Actron AB 1994 Informations particulières aux H200-H252 Terminaux opérateur : Il existe principalement deux types de terminaux opérateur : • Les terminaux utilisant le port série de votre automate comme les terminaux Lauer (compatibles Hitachi) ou comme ceux proposés par Logitech (dealer Hitachi en Italie). • Les terminaux se connectant directement au bus interne comme le ActTerm-H de Actron. Les deux types possèdent leurs avantages et conviendront sans doute pour des applications différentes. Terminaux "Série" Terminaux "Bus" (Actterm-H) Occupe le port série du PLC Oui Non Longue distance entre PLC et terminal Oui, limité par RS232C (25m) Limité à 3m depuis le CPU Temps de réaction à l'appui d'une tou- Un petit retard est engendré Aussi court que la prise en che du clavier par la liaison RS232C compte d'une entrée standard Temps de réaction de l'affichage Un petit retard est engendré L'affichage se fait rapidement, par la liaison RS232C l'allumage des LEDs également Convient à d'autres types d'automates Oui, permet à un utilisateur de Non, ne convient que pour les du marché travailler avec un seul affiautomates Hitachi séries H200cheur pour plusieurs PLC H252 et HB. Même outil de programmation pour Non, softwares différents Oui, programmation par ActSip PLC et terminal et ActGraph Même documentation pour PLC et ter- Non, différents manuels Oui, même manuel minal Extension mémoire pour stockage de Non Oui, jusqu'à 32.000 mots données Avantages les plus marquants Utilisateur travaillant avec Machines nécessitant des temps plusieurs marques de PLC, de réaction courts, un confort avec de longues distances d'utilisation et de mise en oeuvre, entre terminal et PLC... un branchement simultané du terminal et du PC de programmation, une extension mémoire... Actterm-H A CTT ERM- H T ER MI NAL F OR HITA CHI H B/H20 0 ACTTERM-H 7 8 7 8 9 4 5 6 4 5 6 1 2 3 1 2 3 CLEAR CLR 9 0 ENTER 0 ENT Copyright Actron AB 1994 F1 STOP START F2 PROG 1 PROG 2 PROG 3 PROG 4 F3 PROG 5 CONV LEFT LIFT Up CONV RIGHT F4 LIFT Down PROG 5 CONV LEFT LIFT Up CONV RIGHT Le texte explicatif des touches est glissé derrière la membrane du clavier. 177 Informations particulières aux H200-H252 Particularités du Actterm-H : - 32 touches, toutes utilisables comme touches de fonction. Douze d'entre-elles sont définies comme des touches numériques, touches CLEAR et ENTER. Toutes ces touches ont leur équivalent sous la forme d'un bit interne qui passe à 1 lors de l'appui sur la touche. Ces bits sont utilisables comme des contacts traditionnels dans le programme du PLC. - 16 LEDs. A chacune de ces LEDs correspond un bit interne qui peut être utilisé comme une sortie standard par le programme de l'automate. - Mémoire texte de 32.000 caractères alpha-numériques utilisée pour stocker les textes qui seront appelés pour apparaître à l'affichage. - Extension mémoire. Cette mémoire, sauvegardée par batterie, permet le stockage de 16.000 mots de 16 bits (statistique, historique...). Elle peut être utilisée comme extension mémoire d'un petit automate de la série HB. - Affichage pour textes et valeurs. Cet affichage est du type électro-luminescent vert sous vide (haute qualité et très facile à lire sous n'importe quelle lumière). - Klaxon pour attirer l'attention ou pour signaler l'enfoncement des touches. Mise en route Démarrez le software Démarrez la programmation avec Actsip-H ou Actgraph; tapez soit "H ACTTERMH" pour Actsip-H ou "G ACTTERMG" pour ActGraph. Enregistrez ensuite directement ce début de programme sous un autre nom (menu File/Store). Un certain nombre de blocs a été introduit au départ dans votre projet. Ces blocs gèrent la communication avec l'afficheur Actterm-H. Normalement, ce programme de gestion fonctionne seul et n'a aucun lien avec votre projet qui sera programmé à leur suite. Ces blocs ne doivent pas être modifiés sous peine d'engendrer des problèmes de communication entre PLC et afficheur. Programmation Ladder (Actsip-H) Programmation Grafcet (Actgraph) System Program Allocation Printout Files Communication Setup Macro ACTTERMH (Ladder blocks.) DRAW MODE 0060 (0060) Offline H-200 Internal 7.5 Ks Dans ces blocs, un certain nombre d'entrées, de sorties et de variables (bits et mots) ont reçu des labels qui seront utilisés lors de l'écriture de votre projet. Parmi ceux-ci, vous trouverez par exemple : DISPLAY Défini le texte qui doit être envoyé à l'affichage. VALUE1 - VALUE6 Défini les valeurs devant apparaître dans le texte. Ajouter ActTerm-H à un projet existant : Si la programmation du projet a déjà débuté, vous pouvez encore charger la macro ACTTERMH. Dans Actsip-H, utilisez le menu <Files-Load Macro>. Dans ActGraph, appuyez sur F10 et choisissez Macro. Placez cette macro en première position dans votre projet. Répondez Yes lors de l'attribution des adresses si elles ne sont pas encore occupées. Pour recevoir tous les commentaires liés au Actterm-H, chargez la macro "TERMDEF" et détruisez -la ensuite, les commentaires resteront. 178 Copyright Actron AB 1994 Informations particulières aux H200-H252 Comment configurer le système ? Au départ, la macro de gestion de l'afficheur est prévue pour un PLC HB (H20-H64). Si le Actterm-H est connecté à appareil de cette série (sans module d'extension), vous pouvez donc considérer que la configuration est déjà réalisée. Configuration. Exemple Attention ! Le nombre maximum de slots utilisables avec un CPU H200 / H250 est 15 (28 pour le H252) dans le cas où un Actterm-H est raccordé. Il n'est pas possible d'utiliser 2 x BSM9. Si le Actterm-H est raccordé à un H200 ou à un HB avec extension, vous devrez changer la configuration standard. Allez dans le menu "Setup-PLC", choisissez le bon CPU et la bonne mémoire. Passez ensuite dans la configuration des E/S et sélectionnez les cartes d'entrées et sorties adéquates. Le ActTerm-H est défini comme une carte du type "4/4W" et est déjà positionné dans l'unité 5, slot 0 d'où il ne doit pas être déplacé. (Cela peut paraître particulier puisque votre PLC ne possède pas d'unité N° 5 mais le CPU place lui-même ce module à la bonne place de façon interne). L'avantage de cette méthode est que vous ne devrez jamais déplacer le module dans la configuration. Ensuite, vous devrez prendre soin de remplir les slots libres des racks existants avec la sélection "Dummy 16" dans la configuration. 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 En haut à gauche : Configuration de base. Cette configuration ne devra pas être modifiée si vous raccordez un Actterm-H à un HB sans extension. En haut à droite : Si vous utilisez le Actterm-H avec un automate HB muni d'une extension, ce module est simplement ajouté à la configuration sans aucune autre modification. En bas à gauche : Si vous connectez le Actterm-H à un PLC de la série H200, vous devrez configurer le système de la manière habituelle en modifiant ou ajoutant des modules à la configuration de base. Les slots libres sont remplis avec des "Dummy 16". En bas à droite : Unité de base H200 équipé de 4 cartes plus le CPU dans un rack BSM-7. Les deux slots restés libres sont remplis avec des "Dummy 16". Dans l'unité extension, il y a deux cartes mais de la place pour quatre. Deux "Dummy-16" sont donc définis dans les emplacements libres. Copyright Actron AB 1994 179 Informations particulières aux H200-H252 Maintenant, vous pouvez démarrer la programmation : Programmation Comment utiliser les touches de fonction ? Chaque touche de fonction reçoit un nom lorsque la macro de gestion de l'afficheur est utilisée (F1 F20). Dans votre programme, vous pourrez utiliser ces noms pour appeler ces contacts. 7 8 9 7 8 9 4 5 6 5 6 1 2 3 1 2 3 4 CLEAR 0 ENTER CLR 0 ENT F1 F5 F9 F2 F6 F10 F14 F18 F3 F7 F11 F15 F19 F4 F8 F12 F16 F20 F13 F17 A côté des touches F1 -F20 se trouvent les touches ENTER, CLR et "0" - "9". (Même ces touches peuvent être utilisées comme touches de fonction). Si vous souhaitez inverser le clavier numérique, vous pouvez enclencher la variable KEY_INV. La disposition des touches est modifiée comme suit : 1 4 7 2 5 8 0 3 6 9 Souvent, il est souhaitable de renommer les touches de fonction afin de leur donner un nom plus significatif au sein de votre projet. Vous réaliserez cette opération par le menu "AllocationEnter/Change". Spécifiez, par exemple, "F5" et la liste d'allocation suivante apparaît : Nom original : Changez le nom en : START F5 (*) F6 LIFT UP F7 LIFT DOWN F8 HEAT ON (*) Evitez de changer le nom de F5 et LED 1 dans ActGraph versions 2.20A-3.0. STOP PROG 1 PROG 2 PROG 3 PROG 4 PROG 5 CONV LEFT LIFT Up CONV RIGHT HEAT OFF 180 START HEAT ON (Quand vous avez décidé de l'usage des touches de fonction, vous pouvez dessiner au moyen d'un programme de dessin ou de mise en page traditionnel une nouvelle description des touches à glisser sous la membrane transparente du clavier.) Maintenant, les touches ont un nom significatif qui pourra être utilisé lors de l'écriture de votre projet. LIFT Down Copyright Actron AB 1994 Informations particulières aux H200-H252 Comment utiliser les LEDs ? Comme pour les touches de fonction, à chaque LED est attribué un nom lorsque la macro et chargée (LED 1 - LED 16; veuillez noter l'espace entre "LED" et le numéro). Ces noms peuvent également être utilisés directement lors de la programmation. START STOP LIFT UP LIFT DOWN HEAT ON Exemple d'utilisation : Quand vous poussez sur la touche "LIFT UP" le moteur de l'ascenseur démarre si il n'a pas atteint la position "LIFT TOP". Aussi longtemps que l'ascenseur se déplace, la diode LED 2 reste allumée. GRIP LIFT UP HEAT OFF LIFT TOP M1 LIFT+ LED 2 Comment utiliser le klaxon (Buzzer) ? Si vous activez la variable BUZZER, vous entendrez un son en provenance du terminal. Un usage habituel de ce klaxon est de signaler l'enfoncement des touches. Pour réaliser cela, créez un circuit raccordant la sortie "BUZZER" directement à un "contact" KEYPRESS, contact qui est activé lorsqu'une touche est actionnée. Une autre utilisation courante est d'actionner le klaxon pour attirer l'attention. Programmez alors un circuit avec un contact "ALARME" en série avec un contact "horloge 0,1s." pour commander la sortie BUZZER. A l'enclenchement du contact ALARME, vous entendrez un bruit émis avec une fréquence de 10 Hz. Comment utiliser l'afficheur (DISPLAY) ? Chaque "écran" (le mélange de texte et de valeurs qui est montré à l'affichage à un certain moment) est stocké en mémoire sous un numéro. Vous devrez attribuer ce numéro à la variable "DISPLAY" afin de provoquer l'apparition de ce texte à l'affichage. Copyright Actron AB 1994 181 Informations particulières aux H200-H252 Comment créer les écrans et les transférer vers le terminal ? Introduction du texte : Les textes sont écrits dans Actsip-H ou Actgraph en ouSystem Program Allocation Printout Files Communication Setup vrant la fenêtre d'introduction : appuyez F2 et choisissez CONDI Nr. Text TION 1 Text no. 1 ..... ACTTERMH pour voir apparaître la fenêtre à l'écran 2 Adjust the le.... 3 Alarm no. 2 ..... (voyez ci-contre). Si des textes ont déjà été introduits, ils 4 Set value is.... 5 apparaissent avec le numéro qui leur a été assigné. Choisis6 7 sez un des numéros de la liste et poussez sur <Enter>. Ré8 9 pondez "Non" à la question "Is this text for printer?". Une 10 11 12 nouvelle fenêtre, représentant l'afficheur, est ouverte. Tapez 13 14 le texte tel que vous voulez qu'il apparaisse à l'écran. 15 Quand vous avez terminé, poussez sur ESC et enregistrez le texte. Lorsque vous aurez créé tous les textes, appuyez à nouveau sur ESC. Si vous êtes en ligne avec le PLC, le programme vous proposera de transférer les textes vers l'afficheur. Mark Search Hor-Exp Ver-Exp Goto + Comm - Comm Erase Comm Transfert des textes : Vous devez être en ligne avec le PLC et celui-ci doit être en mode RUN. Soit vous pouvez répondre "Yes" à la question posée plus haut ou bien choisissez le menu "Communication-Texts to ActTerm-H" et les textes seront alors transférés. Veuillez noter que ce transfert se fait alors que votre application est en marche. Documentation : Selectionnez le menu "Printout-Texts ActTerm-H" . ECRAN NE CONTENANT QUE DU TEXTE Ce genre d'écran ne contient que du texte comme par exemple : ACTTERM-H TERMINAL FOR HITACHI HB/H200 ACTTERM-H TERMINAL FOR HITACHI HB/H200 Création du texte Programme Ladder (Actsip-H) 182 Programme Grafcet (Actgraph) Copyright Actron AB 1994 ACTTERMH Informations particulières aux H200-H252 Comment programmer l'affichage d'écran de simple texte ? Si le numéro de l'écran est 12, il est appelé par le programme de la façon suivante : en programmation Ladder, ouvrez une boite arithmétique. Les conditions nécessaires pour afficher le texte sont reprises comme conditions d'entrée dans la boite. Tapez l'instruction "DISPLAY = 12" en clair dans la boite. En programmation grafcet, tapez l'instruction "DISPLAY=12" dans une boite d'action liée ou non à une étape du cycle. Programmation Ladder (Actsip-H) Programmation Grafcet (Actgraph) ECRAN AVEC TEXTE ET VALEUR(S) Le texte suivant est un mélange de simple texte intégrant une valeur. Ce texte est : Number of produced items is ---- pieces La valeur est soit une variable interne ou un compteur du PLC qui compte les pièces produites. Number of produced items is 2341 pieces Comment créer un texte intégrant une valeur ? Ecran n° 7 Ouvrez la fenêtre d'introduction par <F2>, <ACTTERM>. Number of produced items is @@@} pieces A la position où vous voulez voir apparaître la valeur dans le texte, vous tapez un "@" à la place de chaque chiffre et pour le dernier, vous introduirez plutôt un "}". Lorsque vous avez terminé, tapez sur ESC. Les symboles utilisés pour définir la place où doit apparaître la valeur dans le texte sont @, } et ]. Normalement, vous trouverez ces symboles sur votre clavier (Alt Gr + touche). Si ils ne sont pas présent sur votre clavier, vous devrez utiliser la méthode suivante : maintenez la touche Alt enfoncée et tapez le nombre correspondant au symbole : <64> pour @ <125> pour } <93> pour ] Copyright Actron AB 1994 183 Informations particulières aux H200-H252 Comment programmer l'affichage d'un texte intégrant une valeur ? Si le texte est stocké sous le numéro 7 et que le nombre de pièces est comptabilisé dans la variable "ITEMCOUNT" (par exemple, le mot WR100), vous pourrez faire apparaître le texte de la manière suivante : Programmation Ladder (Actsip-H) Programmation Grafcet (Actgraph) La première valeur trouvée dans le texte, dans l'ordre de la lecture, est appelée "VALUE1". Ce nom est prédéterminé par la macro et peut donc être utilisé lors de votre programmation. La seconde valeur trouvée est appelée "VALUE2", la troisième, "VALUE3" etc. Cette valeur affichée peut consister en un ensemble de 1 à 5 chiffres. Le nombre de chiffres est déterminé par le nombre "@" auquel il faut ajouter le caractère placé en fin de zone. Si la valeur à afficher est codée en binaire, ce caractère final est un "}" et si cette valeur est codée en BCD, le caractère final devient "]". Il faut noter que la plupart des valeurs utilsées dans le PLC série H sont du type binaire; d'autres valeurs, comme, par exemple, les données de "l'horloge temps réel" sont codées en BCD. Voici quelques exemples de "masque d'affichage" : ... @@@@} ... ... @@@] ... ... @@} ... ... @} ... ... } ... réserve de la place pour l'affichage d'un valeur binaire de 5 chiffres. réserve de la place pour l'affichage d'un valeur BCD de 4 chiffres. réserve de la place pour l'affichage d'un valeur binaire de 3 chiffres. réserve de la place pour l'affichage d'un valeur binaire de 2 chiffres. réserve de la place pour l'affichage d'un valeur binaire de 1 chiffre. Comment afficher des valeurs intégrant des caractères de séparation ? Si vous souhaitez ajouter des caractères de séparation (virgule décimale par exemple) dans les valeurs affichées, il vous suffit d'ajouter ces caractères dans le masque d'affichage entre les @. Par exemple, pour afficher le message, "THE TIME IS 18:35" où 18:35 est une valeur intégrée au texte : THE TIME IS @@:@} Si vous désirez afficher une valeur binaire de 5 chiffres séparés par des tirets, vous écrirez : @-@-@-@-} Temperature is 23 C The Time is 17:35 184 Copyright Actron AB 1994 Informations particulières aux H200-H252 Exemple. Cet écran contient un mélange de texte et de deux valeurs : Temperature is -- C The time is --:-Value 1 est une variable interne qui contient la température et value 2 est une autre variable contenant l'horloge (Heures, Minutes) Programmation Ladder (Actsip-H) Temperature is 23 C The Time is 17:35 Programmation Grafcet (Actgraph) Si cet écran a le numéro 24, que la première valeur porte le nom "TEMP" (mot WR101) et la seconde, "HOUR,MIN" (mot interne spécial WRF00E), le programme nécessaire pour provoquer l'affichage est le suivant : Programme Ladder (Actsip-H) Programme Grafcet (Actgraph) Autre exemple: Affichage réel : *** ACTRON AB *** 1992-11-30 14:35 34 Copyright Actron AB 1994 Masque d'affichage utilisé : *** ACTRON AB *** 19@]-@@-@] @@:@] @] 185 Informations particulières aux H200-H252 YEAR et SECOND, valeurs en 2 chiffres. MON,DAY et HOUR, MIN,valeurs en 4 chiffres. MON, DAY sont séparés par "-" et HOUR, MIN sont séparés par ":". Ces valeurs sont du type BCD et donc le caractère final est un "]". Programmation : Défilement de texte (scrolling) : Quand deux lignes de texte ne sont pas suffisantes pour afficher l'entièreté du message, le texte peut défiler vers le haut et vers le bas. Vous pouvez ainsi créer des textes de plus de deux lignes mais qui ne peuvent pas, dans ce cas, contenir de valeur. Programme Ladder (Actsip-H) Lorsque ce texte est appelé par le programme, il peut être déplacé vers le haut ou vers le bas si vous avez pris la précaution d'enclencher les variables internes "TEXT UP" et "TEXT DOWN". Si, par exemple, vous décidez d'utiliser les touches F3 et F4 pour faire défiler le texte vers le haut et vers le bas, votre programme resemblera à ceci : Programme Ladder (Actsip-H) 186 Programme Grafcet (Actgraph) 1 2 3 F1 4 5 6 F2 7 8 9 CLR 0 ENT TEXT TEXT Programme Grafcet (Actgraph) Copyright Actron AB 1994 Informations particulières aux H200-H252 Comment introduire une valeur ? Level is 3361 mm Set ma ximum 6700 mm Valeur à introduire Programmation : Programme Ladder (Actsip-H) Programme Grafcet (Actgraph) "KEYIN" contient toujours la valeur introduite au clavier au moyen des touches numériques. La touche "CLR" remet cette zone à zéro automatiquement. Pour attribuer une valeur initiale à KEYIN, placer cette valeur dans la variable "KEYINIT". Dans l'exemple ci-dessus, le contenu actuel de la variable MAX_LEVEL est proposée pour modification éventuelle par l'opérateur. Texte qui se déplace ou qui change Pour permettre la modification d'une partie du texte sans en changer la totalité, il existe deux commandes, "TEXT" et "TEXTPOS" qui agissent comme une alternative à la commande DISPLAY. TEXT spécifie, comme DISPLAY, le numéro du texte à afficher, texte qui est créé de la même manière que celle vue précédement. TEXTPOS spécifie la position où le texte doit démarrer. 01234567890123456789 01234567890123456789 Exemple. Si vous souhaitez l'écran suivant : WATERLEVEL IS: 1245 mm The level is xxxxxxxxxxxxxx XXXXXXX sera remplacé soit par "LOW", soit par "NORMAL" , "HIGH" ou par "CRITICAL". Copyright Actron AB 1994 187 Informations particulières aux H200-H252 Le DISPLAY N° 68 ressemble à ceci : "WATERLEVEL IS: 251 mm The level is " Le TEXT N° 69 est "LOW", le TEXT N° 70 est "NORMAL", le TEXT N° 71 est "HIGH", et le TEXT N° 72 est "CRITICAL" La position du premier X étant 29, il faudra utiliser la commande TEXTPOS =29 Texte qui se déplace : Tapez, par exemple, le texte " ACTRON AB " en prenant soin de laisser un espace devant et derrière le texte. Introduisez ensuite un bloc arithmétique avec les instructions suivantes : TEXT = no TEXTPOS = display counter Faites ensuite varier un compteur "d'affichage" entre les valeurs 0 et 40 : le texte va se déplacer entre la position 0 et 40 de l'afficheur. Rafraîchissement de l'affichage : Si vous souhaitez un rafraîchissement de l'écran sans avoir à changer le numéro de DISPLAY ou de TEXT, vous pouvez activer l'un des deux bits suivants : - DISPUPDATE pour le rafraîchissement d'un écran. - TEXTUPDATE pour le rafraîchissement d'un texte. Mise à jour rapide de l'affichage : Si vous faites travailler le Actterm-H avec un programme très long, l'affichage sera mis à jour avec moins de rapidité qu'avec un programme de taille moyenne ou réduite. Si vous désirez augmenter la vitesse de mise à jour de l'affichage, vous pouvez activer le bit interne appelé QUICKDISP. Grâce à cette opération, l'affichage sera mis à jour nettement plus rapidement. Veuillez noter que, lorsque ce bit est activé, le programme situé après la macro Actterm-H ne sera pas exécuté durant approximativement 100 ms lors de chaque ordre d'affichage (DISPLAY ou TEXT). Si votre application nécessite un temps de réaction plus court, vous devrez soit éviter d'utiliser la commande QUICKDISP, soit placer la partie critique de votre programme avant la macro Actterm-H ou au sein d'une routine d'interruption périodique. Codes de contrôle de l'afficheur : Vous pouvez utiliser la commande CONTROL pour effectuer certaines opérations sur l'afficheur. Voyez ci-dessous les valeurs que peut prendre la variable CONTROL : (Curseur une case à gauche = 8) (Curseur une case à droite = 9) (Ligne suivante = 10) (Retour à la ligne = 13) Curseur éteint = 14 Curseur allumé = 15 Remise à l'état initial = 20 (L'afficheur reprend les valeurs par défaut) Effacement (*) = 21 (Ecran effacé et curseur en haut à gauche) (Curseur Home = 22) (Repositionne le curseur en haut à gauche) 188 Copyright Actron AB 1994 Informations particulières aux H200-H252 Très basse intensité = 28 (12% d'intensité de l'affichage) Basse intensité = 29 (25% d'intensité de l'affichage) Haute intensité = 30 (50% d'intensité de l'affichage) Très haute intensité = 31 (100% d'intensité de l'affichage) (*) veuillez noter que l'enclenchement de la variable CLEAR DISP efface également l'affichage. Exemple. Attribution d'une valeur à la variable CONTROL durant une scrutation. Cette instruction va activer le curseur. DIF Comment écrire une donnée dans l'extension mémoire ? Pour écrire une donnée dans l'extension mémoire, vous devrez tout d'abord placer la valeur à enregistrer dans le mot WRITEVALUE et l'adresse où vous souhaitez écrire cette valeur dans le mot WRITEADDR. L'écriture est réellement réalisée une fois que vous aurez activé le bit WRITEMEM. WRITEMEM est désactivé automatiquement après écriture. Prenez la précaution de n'enclencher ce bit que pour une scrutation (utilisation front montant DIF ou DFN). Extension memoire 16888 WRITEADDR Valeur en provenance du PLC WRITEVALUE Programmation Ladder (Actsip-H) write condition WRITEADDR = address WRITEVALUE = value WRITEMEM = Programmation Grafcet (Actgraph) P WRITEADDR = address WRITEVALUE = value WRITEMEM = 1 Si vous devez écrire un certain nombre de valeurs comme pour copier une liste d'information, vous pourrez procéder comme suit : Programmation Ladder (Actsip-H) Programmation Grafcet (Actgraph) ΩΡ Ρ∆_ Α∆Ρ ΩΡ ΩΡΙ _ Α∆Ρ ΩΡ ΩΡΙ _ ς ΑΛ ΩΡΙ ΤΕ Ι Ν∆ La variable "start address1" est la première adresse où vous souhaitez écrire dans l'extension mémoire. La variable "start address2" est l'adresse de départ des valeurs que vous voulez copier vers l'extension mémoire. "Pointer" doit être mis à zéro en début de traitement tandis que la condition d'entrée dans le bloc arithmétique (Write Condition) retombe une fois que POINTER est égal au nombre de valeurs qu'il fallait copier. Copyright Actron AB 1994 Ι Ν∆Ι ΡΕΧΤ pointer WR RD_ADR WRITEVAL WRITEADR WRITEMEM pointer = = = = ΩΡ Ρ∆_ ς ΑΛ 0 start address2+ pointer WR RD_VAL start address1 + pointer = pointer+ 1 Pour faire de l'adressage indirect avec le programme Grafcet, chargez la macro INDIRECT. Cette macro réalise la lecture dans la zone WR de l'adresse WR (0+WR RD_ADR) vers le mot WR RD_VAL. 189 Informations particulières aux H200-H252 Comment lire une donnée dans l'extension mémoire ? Pour lire une donnée depuis l'extension mémoire, vous devez placer l'adresse à atteindre dans la variable READADDR et ensuite utiliser le conteExtension nu du mot READVALUE dans votre promémoire gramme. La lecture est réellement effectuée 16888 lorsque vous activez la variable READMEM. READADDR Cette variable est désactivée automatiquement Valeur allant vers le PLC après la lecture. Comme pour l'opération précédente, veuillez à enclencher le variable READVALUE READMEM seulement pour une seule scrutation. La valeur lue sera disponible dans le mot READVALUE une scrutation après avoir enclenché la variable READMEM. La variable READ READY signale que la valeur est disponible. Programme Ladder (Actsip-H) Programme Grafcet (Actgraph) Si vous désirez lire un certain nombre de valeurs, exécutez le programme suivant : Programme Ladder (Actsip-H) Programme Grafcet (Actgraph) ΩΡ Ρ∆_ Α∆Ρ ΩΡ ΩΡΙ _ Α∆Ρ ΩΡ ΩΡΙ _ ς ΑΛ ΩΡΙ ΤΕ Ι Ν∆ STARTADDR est la première adresse à lire dans l'extension mémoire, VALUE est l'adresse de départ qui va recevoir les valeurs lues. POINTER devra être mis à zéro avant la lecture et la condition d'entrée dans bloc arithmétique devra être désactivée lorsque POINTER aura atteint la dernière valeur qu'il fallait lire. 190 P Ι Ν∆Ι ΡΕΧΤ ΩΡ Ρ∆_ ς ΑΛ POINTER = 0 READADDR = START ADDR + POINTER VALUE(POINTER) = READADDR READMEM = 1 POINTER = POINTER + 1 POINTER = MAX AMOUNT Pour réaliser un adressage indirect avec le programme Grafcet, chargez la macro INDIRECT. Elle réalise l'écriture de la variable WR WRI_VAL dans la zone WR à partir de l'adresse WR (0+WR WRI_ADR) lorsque le bit WRITE IND est activé. Copyright Actron AB 1994 Informations particulières aux H200-H252 Terminal ActTerm-H avec sortie imprimante Démarrez le software Démarrez la programmation avec Actsip-H ou Actgraph; tapez soit "H ACTPRTH" pour Actsip-H ou "G ACTPRTG" pour ActGraph. Enregistrez ensuite directement ce début de programme sous un autre nom (menu File/Store). Comment créer les textes pour imprimante ? System Program Allocation Printout Files Communication Setup CONDI Nr. Text TION 1 Text no. 1 ..... 2 Adjust the le.... 3 Alarm no. 2 ..... 4 Set value is.... P 5 Printer text.... 6 P 7 Time @@:@]...... 8 9 10 11 12 13 14 15 Mark Search Hor-Exp Ver-Exp Goto + Comm - Comm Erase Comm ACTTERMH Les textes sont créés dans la fenêtre d'introduction des textes de la même manière que celle décrite précédemment. Choisissez un des numéro de la liste et poussez sur <Enter>. Répondez "Yes" à la question "Is this a printer text?". Une nouvelle fenêtre de 78 caractères de large va s'ouvrir. Vous taperez à cette place le texte tel que vous souhaitez le voir sur l'imprimante. Quand vous avez terminé, poussez sur ESC et enregistrez ce texte. Lorsque vous aurez créé tous les textes, appuyez à nouveau sur ESC. Les textes de la liste apparaissant précédés d'un "P" sont des textes destinés à l'imprimante, les autres sont destinés à l'afficheur. Exemple de texte pour imprimante OVER PRESSURE ALARM DAY- MONTH Pressure level @@@} mBar Emergency call 026-7529290 @@-@] TIME @@:@] A l'impression, ce texte apparaîtra de la même façon sur le papier. Les valeurs sont introduites dans le texte de la même manière que pour les messages destinés à l'afficheur. Le nombre maximum de valeurs est de 6 dans le même message. Si vous avez besoin d'imprimer un plus grand nombre de valeurs, créez plusieurs textes que vous imprimerez les uns à la suite des autres. Comment programmer l'impression des textes ? Utilisez l'instruction "PRINT" au lieu de "DISPLAY". Si, par exemple, le numéro du texte à imprimer est 12, ouvrez une boite arithmétique dans le programme Actsip-H; la contition d'entrée dans la boite est la condition nécessaire pour mettre en route l'impression. Tapez ensuite dans la boite l'instruction "PRINT = 12" en clair. En programmation grafcet, tapez "PRINT=12" dans une boite d'action liée ou non à une étape du cycle. Programmation Ladder (Actsip-H) Programmation Grafcet (Actgraph) PRINT = 12 PRINT = 12 Copyright Actron AB 1994 191 Informations particulières aux H200-H252 Comment programmer l'impression d'un texte intégrant une valeur ? Si le texte porte le N° 15 et que la première valeur est "MON,DAY" (mois et jour gérés par l'horloge temps réel), la deuxième, "HOUR,MIN" et la troisième la variable "PRESSURE" (label attaché, par exemple, à l'entréee analogique WX100), le programme sera écrit de la manière suivante : Programmation Ladder (Actsip-H) Programmation Grafcet (Actgraph) System Program Allocation Printout Files Communication Setup CONDI TION DRAW MODE 0060 (0060) Offline H-200 Internal 7.5 Ks +. OVER PRESSURE ALARM DAY- MONTH Pressure level 1579 mBar Emergency call 026-7529290 Off-line Series H 03-04 TIME 14:32 Comment détecter que l'imprimante à terminé d'imprimer ? Il est parfois nécessaire de savoir si l'imprimante a terminé d'imprimer avant d'envoyer le texte suivant vers l'imprimante ou vers l'afficheur (veuillez noter que les deux sorties utilisent les même variables internes et qu'il n'est donc pas possible de les faire fonctionner en parallèle). A cet effet, la variable "PRINTING" est activée lorsque l'imprimante est occupée. Voici un exemple typique de l'utilisation de cette variable dans le cas d'impression de plusieurs textes envoyés séquentiellement à l'imprimante : PRINT = 7 /PRINTING PRINT VALUE1 VALUE2 VALUE3 = = = = 15 MON,DAY HOUR,MIN PRESSURE /PRINTING PRINT = 12 VALUE1 = TOT AMOUNT Comment éviter des mises à jour répétées de l'afficheur ? Après chaque impresion, le contenu de l'afficheur est remis à jour automatiquement. Si vous imprimez plusieurs lignes séquentiellement, cette mise à jour n'est sans doute pas nécessaire. Vous pouvez alors activer le bit interne appelé "DISP STOP" pour "geler" l'afficheur durant l'impression. PRINT = 7 + DISP STOP /PRINTING PRINT = 15 VALUE1 = MON,DAY VALUE2 = HOUR,MIN VALUE3 = PRESSURE /PRINTING PRINT = 12 VALUE1 = TOT AMOUNT - DISP STOP Mise à jour répétée de la même ligne d'impression Si le dernier texte imprimé doit être à nouveau envoyé vers l'imprimante avec de nouvelles valeurs (comme durant le suivi de l'évolution de certaines valeurs), vous pouvez utiliser le bit appelé "PRINTUPDAT". 192 Copyright Actron AB 1994 Informations particulières aux H200-H252 Réinitialisation de l'imprimante Si l'imprimante n'est pas en ligne, qu'il n'y a plus de papier ou dans d'autres cas similaires, la plupart des imprimantes le signalent au terminal. Une bonne méthode de travail consiste à vérifier le temps d'impression et d'émettre une alarme si ce temps est dépassé. Le bit interne appelé "RES PRINT" permet alors de réinitialiser l'imprimante comme le montre l'exemple ci-contre : System Program Allocation Printout Files Communication Setup CONDI TION ΠΡΙ ΝΤ ς ΑΛΥΕ1 ς ΑΛΥΕ2 ς ΑΛΥΕ3 = = = = 15 ΜΟΝ, ∆ΑΨ ΤΙ Μ, ΜΙ Ν ΠΡΕΣΣΥΡΕ ΠΡΙ ΝΤ Ι ΝΓ ΤΙ ΜΕ2 10. 0 ΤΙ ΜΕ2 DRAW MODE ΡΕΣ ΠΡΙ ΝΤ = 1 ∆Ι ΣΠΛΑΨ = 18 ΒΥΖΖΕΡ = 1 0060 (0060) Offline H-200 Internal 7.5 Ks Mise à jour rapide de l'impression : Si vous faites travailler le Actterm-H avec un programme très long, la mise à jour de l'impression se fera avec moins de rapidité qu'avec un programme de taille moyenne ou petite. Si vous désirez alors augmenter la vitesse d'impression, vous pouvez activer le bit interne appelé QUICKPRINT. Veuillez noter que, lorsque ce bit est activé, le programme situé après la macro Actterm-H ne sera pas exécuté durant l'impression. Si votre application nécessite un temps de réaction plus court, vous devrez soit éviter d'utiliser la commande QUICKPRINT, soit placer la partie critique de votre programme avant la macro Actterm-H ou au sein d'une routine d'interruption périodique. Impression/Affichage de valeurs importantes : Dans certaines applications, il sera intéressant de pouvoir imprimer des nombres de plus de 4 ou 5 chiffres. En utilisant les mots internes "HIGH WORD" et "LOW WORD" ainsi que le bit appelé "8 FIGURES" il vous sera possible d'afficher ou d'imprimer des nombres jusqu'à 8 chiffres. Ce nombre sera divisé en deux parties dont les 4 chiffres les plus significatifs prendront place dans la variable "HIGH WORD" et les 4 les moins significatifs dans "LOW WORD". Ce nombre devra être au format BCD et les zones d'impression devront donc se terminer par des "]" comme le montre l'exemple ci-dessous : CONDI TION Où le texte 15 aura, par exemple, le format suivant : TYPE PRODUCT NO: @@@]@@@] Press ENTER Raccordement de l'imprimante Si le terminal Actterm-H est prévu avec l'option imprimante, il est équipé sur la face arrière d'un port imprimante compatible Centronics avec connecteur Sub D à 25 contacts. La plupart des imprimantes de bureau (utilisée avec vos PCs) pourront donc s'y connecter directement au moyen d'un câble parallèle traditionnel. Il est également possible d'utiliser une imprimante spéciale se montant sur porte mais ces imprimantes demandent souvent des câbles spéciaux qu'il vous faudra alors réaliser. Actron peut aussi vous proposer une imprimante de ce type sous la référence ACTPRINT ainsi que son câble ACTCAB-4/1. Cette imprimante est du type thermique avec 24 caractères maximum par ligne qu'il faudra alimenter en tension 5Vdc (à prévoir). Copyright Actron AB 1994 193 Informations particulières aux H200-H252 Montage ActTerm-H se raccorde au PLC au moyen d'un câble d'extension tel que le CNM-06. La distance totale entre Actterm-H et le CPU ne peut excéder 3 m. Le terminal possède, sur sa face arrière, un couvercle fixé par 8 vis. Pour fixer le terminal, démontez ce couvercle, placez le terminal dans le trou pratiqué dans la tôle et replacez le couvercle par l'arrière en le fixant au moyen de ses vis. Le montage est terminé. Montage traditionnel du terminal dans un coffret Face arrière de la porte Face arrière de la porte PLC type HB PLC type H200 Câble d'extension Câble d'extension Intérieur de l'armoire Intérieur de l'armoire Face arrière du terminal Face arrière du terminal Montage du PLC sur tôle de fond Face arrière de la porte Face arrière du terminal Montage du PLC sur tôle de fond Face arrière de la porte PLC type HB Câble d'extension Câble d'extension Face arrière du terminal PLC type H200 Sur la porte du coffret Sur la porte du coffret Alimentation du ActTerm-H Le ActTerm-H a un connecteur pour raccordement de l'alimentation sur la face arrière. La tension admissible va de 10 à 30 Vdc ou Vac sans polarité. Vous pouvez utiliser le 24 Vdc délivré par le PLC si la puissance le permet sachant que la consommation du Actterm-H est de 200mA et qu'une carte d'alimentation délivre 400mA. Si la carte d'alimentation est déjà chargée, il vous faudra prévoir une alimentation extérieure. 199 Dimensions de l'encastrement Le trou dans le panneau devra avoir 187 mm (Hauteur) sur 199 mm (Largeur). L'épaisseur est de 50 mm. 194 187 Copyright Actron AB 1994 Informations particulières aux H200-H252 Informations générales sur l'utilisation du ACTTERM-H Longueur de câble : Pour l'assemblage des modules du PLC et du Actterm-H, vous pourrez utiliser en toute sécurité un câble d'une longueur maximum de 1 m. Si vous utilisez un câble avec une bonne protection, vous pourrez aller jusqu'à 3 m. Notez que, pour le calcul de cette longueur, vous devrez tenir compte de la distance totale entre le CPU et le Actterm-H, longueur de rack(s) et câble d'extension compris. Rack de base Longueur totale 3.0 m ACTTERM-H Rack d'extension Occupation d'emplacement : Même s'il n'est pas raccordé à un emplacement en tant que tel dans l'automate, le terminal occupe un slot. Cela signifie que le nombre maximum de cartes pour un H200-250 est de 15 et de 28 pour un H252. Configuration : La configuration est décrite plus avant dans ce manuel. N'omettez pas de définir les slots non utilisés comme des "Dummy 16" en non comme des "Dummy 0"; "Dummy 16" réserve bien de la place pour les cartes manquantes alors que l'autre ne le fait pas. Un automate HB est toujours configuré comme X48,Y32,16. Un HL, suivant la position du cavalier interne, est configuré comme X48,Y32,LINK (cavalier en position "réseau") ou X48,Y32,REMOTE (cavalier en position "E/S déportées"). Raccordement à un HB équipé d'un module d'extension : Si le Actterm-H est connecté à un PLC du type HB via un module d'extension de type H16, il ne peut y avoir plus d'un module raccordé à l'unité de base et le Actterm-H doit avoir une alimentation différente du reste de l'automate. Alimentation séparée ACTTERM-H Un seul module Copyright Actron AB 1994 195 Informations particulières aux H200-H252 Modules de communication : Communication vers modules déportés : RIOH-TM et RIOH-TL Station locale 0 Carte de commande des modules déportés Station locale 1 3 canaux Canal N° Station locale 2 3 canaux Canal N° 2 canaux Canal N° Paire torsadée de longueur totale maximum de 300 m. Les modules déportés sont connectés par une paire torsadée. Vous trouverez les détails du raccordement dans le manuel accompagnant ces cartes. La carte RIOH-TM est montée dans le rack principal tandis que les cartes RIOHTL, maximum 8 pour une RIOH-TM, sont montées dans les unités déportées à la place occupée normalement par le CPU. Chaque canal correspond à un slot dans un rack déporté. Ces canaux sont numérotés dans l'ordre depuis le premier slot du premier rack jusqu'au dernier slot du dernier rack. Les sélecteurs rotatifs présents sur la face avant des module RIOH-TL doivent être le reflet de cette disposition. Ces sélecteurs rotatifs sont au nombre de deux sur le RIOH-TL : le premier spécifie le numéro du premier canal utilisé dans l'unité locale et le second le nombre de canaux utilisés dans ce rack. A chaque canal correspond un slot et donc une carte d'entrée ou de sortie. Veuillez noter que les cartes adressées en mots comme des cartes analogiques, comptage rapide, etc, ne sont pas autorisées dans les unités déportées. Le CPU situé dans l'unité principale voit les entrées et sorties déportées comme si elles étaient présentes dans ce même rack principal. La seule différence entre les E/S locales et déportées réside dans l'adressage qui indique le numéro de la carte maîtresse et le numéro de canal auquel l'E/S appartient. Par exemple, la sortie 12 dans le slot N° 1 (soit, le 2ème slot) dans l'unité locale 1 ci-dessus (canal 4) sera numérotée Y (sortie) + 1 (RIOH-TM N° 1) + 1 (station locale 1) + 1 (slot N° 1) + 12 (N° sortie sur carte) soit Y11112. Voyez, pour rappel, la technique d'adressage en page 153. Cartes de commande d'unités déportées Chaque unité principale peut contenir jusqu'à 4 cartes de commande d'unités déportées (soit 4 x 8 x 16 = 512 E/S déportées !) 196 Copyright Actron AB 1994 Informations particulières aux H200-H252 Consommation des cartes RIOH et IOLH CH1 (5 V) CH3 (24V) CH3 (24 V) RIOH-TM 130 mA 20 mA 5 mA RIOH-TL 15 mA 20 mA 5 mA IOLH 150 mA 20 mA 5 mA Spécifications générales des cartes RIOH et IOLH Nombre de connections Nombre d'E/S RIOH-TM RIOH-TL 8/carte de commande maîtresse x 4 systèmes 128 x 4 systèmes Temps de réaction 5 ms Vitesse de transmission Contrôle de transmission Copyright Actron AB 1994 IOLH 8 CPU/système x 2 128 bits/8 mots x 2 systèmes 10 ms x amount of stations 768 k bps Double transmission du même message mais inversées 197 Informations particulières aux H200-H252 Communication vers autres CPU (réseau) : IOLH: Zone d'écriture Zone de lecture Zone de lecture Zone d'écriture Zone de lecture Zone de lecture Zone de lecture Zone de lecture Zone d'écriture Exemple de programme utilisant le réseau : PLC 1 va lire les informations concernant les deux modules d'entrée du PLC 0 et les écrire sur deux modules de sortie. PLC 0 va lire le module d'entrée du PLC 1 et attribuer cette information à sa variable/mot interne WR100. Cette même information sera reflétée par un module de sortie sur PLC 2. Programme dans PLC 0 Programme dans PLC 1 Programme dans PLC 2 La zone réseau de chaque PLC doit être définie par le menu ”PLC- Setup” du software de programmation. Vous pouvez avoir deux réseaux indépendants par automate (Link 0 et Link 1). CPU avec 2 réseaux Réseau 0 Réseau 1 Avec la carte T-LINK (pour H250-H252), la zone de lecture/écriture est de 1024 mots ou 16 Kbits. Au travers de ce réseau, il est possible de modifier la programmation d'un des automates ou d'atteindre n'importe quel PLC pour faire, par exemple, de la supervision. Avec la carte LINK-02H, vous pourrez vous connecter à des appareils de la série H300-H2002 équipés de la carte LINK-H. 198 Copyright Actron AB 1994 Informations particulières aux H200-H252 Carte de comptage rapide CTH : Rouge (Alimentation) Codeur deux phases Vert (Phase B) Blanc (Phase A) Noir (Marqueur) PLC (carte CTH) Comptage Décomptage Phase A Phase B Phase B décalée de 90° Phase A décalée de 90° L'ordre d'arrivée des phases A et B permet de détecter le sens de rotation. La Remise à Zéro peut être provoquée par l'entrée M. Lorsque le codeur tourne dans une direction (comptage), les impulsions A arrivent 90° avant les B. Si le sens de rotation s'inverse (décomptage), c'est la phase B qui se présente 90° avant la A. La carte CTH sait ainsi déterminer le sens de rotation du capteur. Impulsion de RàZ externe Impulsion de RàZ venant du codeur CTH CTH Aucune impulsion de RàZ CTH Principe de fonctionnement de la carte de comptage rapide : Un registre interne compte ou décompte les impulsions en provenance du codeur. Ce comptage est réalisé seulement si le bit E (E=Enable=Y88), est activé. Le registre de comptage peut recevoir une valeur initiale de départ : placez cette valeur dans le registre WY2, enclenchez ensuite le bit CP (CP=Counter Preset= Y80) pour faire passer le contenu de WY2 vers le registre de comptage. Ce registre de comptage est en permanence comparé au contenu de quatre consignes (CU0, CU1, CU2, CU3) dont les adresses sont WY3, WY4, WY6 et WY7. Les résultats de ces comparaisons sont stockés dans huit bits internes à la carte (CU0 = (X4), CU0 > (X5)..........,CU3 >, (X11)). Valeur initiale E Valeur de comptage Permet la comptabilisation des impulsions Valeurs de consignes comparées à la valeur de comptage CP La valeur initiale est copiée dans le registre de comptage dès que CP passe à 1. Comparaisons des consignes et valeur de comptage Bits reflétant le résultat des comparaisons Un cavalier sur la carte CTH permet de choisir le fonctionnement en BCD (valeur maxi du registre = 9999) ou en binaire (valeur maxi du registre = 65535). Voyez les instructions dans le manuel joint à la carte. Copyright Actron AB 1994 199 Informations particulières aux H200-H252 Disposition des entrées et sorties de la carte CTH : L'adressage est divisé en deux mots d'entrée et 6 mots de sortie (carte définie comme FUN3 dans le menu <SetupPLC>). Les mots d'entrée 0 (WX0) et de sortie 5 (WY5) contiennent les informations né- Input cessaires au contrôle de la carte. words Les bits de sorties les plus importants sont E (permet le comptage), ALL CLR (RàZ des registres) et CP (attribution d'une valeur initiale). Les bits d'entrée les plus importants sont =CU0, >CU0,......., >CU3 qui donnent la position de comptage vis-à-vis des consignes spécifiées. Output words Seulement les mots WX0 (bit X0 -X15) et WY5 (bits Y80-Y95) peuvent être utilisés en adressage "bit". │ Exemple: │ en position de depart │ │HOME ALL C │ La machine sera initiali1│ LR │ ├─────────────────────────────────────────────────────────────────( )─┤ sée quand elle a atteint sa ├──┤ │X00100 Y00089│ │ position de départ (X100). ││ │ *** Enregistrement des valeurs de consigne Quand le compteur a dé│ Cons. 0 = 1240 │ Cons. 1 = 5000 passé les 1240 impul│ *** Mise a 1 du bit "Enable" │ ┌────────────────────────────────────────────┐│ sions, une sortie est acti- 2│ │COMP. CU0 = 1240 ││ ├────────────────────────────┤COMP. CU1 = 5000 ││ │E = 1 ││ vée. Celle-ci sera déclen- │ │ └────────────────────────────────────────────┘│ │ chée une fois que le │ ** Quand le compteur est > a la consigne 0 (1240), la sortie 1 (EXT OUT 1) │ passe a 1, et quand il est > a la consigne 1 (5000), elle repasse a 0 compteur dépasse les │CU0 > CU1 > EXT │ 3│ OUT 1 │ 5000 impulsions (la carte ├──┤ ├────┤/├──────────────────────────────────────────────────────────( )─┤ │X00005 X00003 Y00200│ CTH se trouve dans le │ │ slot 0). Dans cet exemple, comme le PLC prend un certain temps pour réagir lorsque les bits CU0> et CU1> changent d'état, il est parfois obligatoire d'utiliser dans le schéma électrique les sorties rapides intégrées à la carte. Le câblage externe à l'automate ressemblera à celui ci-dessous : ** RaZ du compteur rapide et des zones de controle lorsque la machine est │OUT0 OUT1 EXT │ │ OUT 1 │ ├──┤ ├────┤/├──────────────────────────────────────────────────────────( )─┤ │ │ Principe de fonctionnement des sorties rapides OUT0-OUT3 : Etat de CU0 > à CU3 > Etat de CU0= à CU3= Mode de contrôle de OUT0 à OUT3 Mode de cde OUTE (forçage ou normal) Bornier de connection de la sortie Forçage sorties OUT0 à OUT3 200 Copyright Actron AB 1994 Informations particulières aux H200-H252 Pour réaliser une installation nécessitant une logique rapide et du positionnement, vous pouvez combiner les deux cartes Actana-F et CTH. Connectez une des sorties rapides de la carte CTH à une des entrées rapides (DIN1 or DIN2) de la carte Actana-F; écrivez ensuite votre programme de façon à profiter des possibilités de comptage et de gestion de position offertes par le CTH et de la capacité à programmer des circuits plus complexes de la carte Actana-F (Voyez à ce propos la description de cette carte en page 161 ). Le registre de comptage de la carte CTH comporte 16 bits. Comme déjà signalé, un cavalier permet de sélectionner le mode de comptage : BCD (0-9999) ou binaire (0-65535). Pour dépasser cette limite, vous devrez programmer un compteur traditionnel comme décrit ci-dessous; il est préférable et plus facile de travailler en mode BCD pour ce mode de fonctionnement. Exemple: Partons du même énoncé que pour l'exemple précédent mais, cette fois, avec des valeurs de consigne de 11240 pour enclencher et 135000 pour déclencher la sortie Y200. Nous allons utiliser un compteur traditionnel qui va comptabiliser chaque lot de 10000 impulsions. Cette information est disponible dans le CTH sous la forme d'une détection de "dépassement de capacité" signalé par le bit OF (Overflow Flag). Ce bit passera à 1 chaque fois que le registre de comptage passe de 9999 à 0; un autre bit UF détecte lui le passage de 0 à 9999 soit un dépassement de capacité dans le sens descendant (Underflow Flag). Ces deux bits (OF et UF) doivent être remis à zéro par le programme après utilisation. Copyright Actron AB 1994 │ │ ** RaZ du compteur lorsque la machine est en position de depart │ │HOME ALL C │ 1│ LR │ ├──┤ ├─────────────────────────────────────────────────────────────────( )─┤ │X00100 Y00089│ │ │ │ │ │HOME ┌────────────────────────────────────────────┐│ 2│ │HIGH COUNT = 0 ││ ├──┤ ├───────────────────────┤ ││ │X00100 │ ││ │ └────────────────────────────────────────────┘│ │ │ *** Enregistrement des valeurs de consigne │ Consigne 0 = 1240 (+ 1x10000, voir le contact comparatif) = 11240 │ Consigne 1 = 5000 (+ 13x10000, voir le contact comparatif) =135000 │ *** Mise a 1 du bit "Enable" │ ┌────────────────────────────────────────────┐│ 3│ │COMP. CU0 = 1240 ││ ├────────────────────────────┤COMP. CU1 = 5000 ││ │ │E = 1 ││ │ └────────────────────────────────────────────┘│ │ │ ** Comptage ou decomptage des lots de 10000 impulsions. │OF ┌────────────────────────────────────────────┐│ 4│ │HIGH COUNT = HIGH COUNT + 1 ││ ├──┤ ├───────────────────────┤ ││ │X00007 │ ││ │ └────────────────────────────────────────────┘│ │ │ │OF OFC │ 5│ │ ├──┤ ├─────────────────────────────────────────────────────────────────( )─┤ │X00007 Y00087│ │ │ │ │ │UF ┌────────────────────────────────────────────┐│ 6│ 1 │HIGH COUNT = HIGH COUNT ││ ├──┤ ├───────────────────────┤ ││ │X00006 │ ││ │ └────────────────────────────────────────────┘│ │ │ │UF UFC │ 7│ │ ├──┤ ├─────────────────────────────────────────────────────────────────( )─┤ │X00006 Y00086│ │ │ │ ** Comparaison position 1 et position 2 │ La sortie (EXT OUT 1) passe a 1 lorsque la position 1 (11240) est │ atteinte et repasse a 0 quand on arrive en position 2 (135000) POSIT │ │┌ ┐ CU0 > 8││HIGH COUNT WR0000│ ION 1 │ ├┤ == ├───┤ ├────────────────────────────────────────────( )─┤ ││1 │ X00005 R000 │ │└ ┘ │ │ │ POSIT │ │┌ ┐ CU1 > 9││HIGH COUNT WR0000│ ION 2 │ ├┤ == ├───┤ ├────────────────────────────────────────────( )─┤ ││13 │ X00003 R010 │ │└ ┘ │ │ │ │POSIT POSIT EXT │ 10│ION 1 ION 2 OUT 1 │ ├──┤ ├─┬──┤/├──────────────────────────────────────────────────────────( )─┤ │R000 │R010 Y00200│ │ │ │ │EXT │ │ │OUT 1 │ │ ├──┤ ├─┘ │ │Y00200 │ │ │ 201 Informations particulières aux H200-H252 Bits de contrôle CPU ! CTH (sorties) Adresse + 100 * N° Etiquette Nom de Slot Y80 CP Counter Preset Y81 ME Marker Enable Description Expédie la valeur initiale vers le registre de comptage. Cette valeur va servir de base à la comptabilisation des impulsions. 0 0 / 1 L'entrée de Remise à Zéro (M) est inactive L'entrée de Remise à Zéro (M) est active Le bit indiquant l'égalité entre valeur de comptage et consigne (0-4) garde son état. Le bit indiquant l'égalité entre valeur de comptage et consigne (0-4) est remis à zéro. Utilisation des bits ">CU 0" à ">CU 1" pour la commande des sorties OUT0 à OUT1. Utilisation des bits "=CU 0" à "=CU 3" pour la commande des sorties OUT0 à OUT3. Maintien ou Remise à Zéro du bit UF 0 / 1 Maintien ou Remise à Zéro du bit OF 0 / 1 Empêche ou permet le fonctionnement du CTH 1 202 Y84 = 0 =flag clear Y82 Y92 = 1 = 2 Y90 Y85 = 3 OUT0 Y83 Y94 OUT1 OUT2 Y91 Y86 OUT3 UFC Y87 OFC Y88 E Underflow Flag Clear Overflow Flag Clear counter Enable Y89 ALL CLR All Clear Y94 OUT E Forced outputs 0 1 OUT Control 0 1 Remise à Zéro générale du compteur et de tous ses bits de contrôle. Permet le forçage des sorties OUT0OUT3 de la carte CTH (si OutE est à 1, les bits OUT0-OUT3 peuvent être contrôlés individuellement par le PLC) Copyright Actron AB 1994 Informations particulières aux H200-H252 Bits de contrôle CTH ! CPU (entrées) Adresse + 100 * N° Etiquette Nom de slot X0 CPE Counter Preset End X1 MCE Marker Enable End X4 =CU 0 X2 =CU 1 X12 =CU 2 X10 X5 =CU 3 >CU 0 X3 >CU 1 X13 >CU 2 Bits = (indique une égalité entre une des consignes et la valeur de comptage) Bits > (indique que la valeur de comptage est > à une des X11 >CU 3 X6 UF valeurs de consignes) Underflow Flag X7 OF Overflow Flag X15, X16 A, B Phase input A,B X9 X8 M Φ Reset input Phase Copyright Actron AB 1994 Description Confirme que la valeur de départ a bien été prise en compte après la mise à 1 du bit CP (Y80). Confirme que le bit Marker est bien en fonction après la mise à 1 du bit ME (Y81). Ces bits passent à 1 lorsque la valeur de comptage est = à une des quatre consignes (CU0 à CU3). Ils resteront à 1 jusqu'à ce que le bit de RàZ correspondant (= flag clear "=0" à "=3") soit activé. Ces bits passent à 1 lorsque la valeur de comptage est > à une des quatre consigne. Ils resteront à 1 tant que cette valeur de comptage reste > et repasseront automatiquement à 0 dans le cas où cette valeur devient inférieure. Mode BCD : =1 quand le comptage passe de 0 à 9999. Mode BIN : = 1 quand le comptage passe de 0 à FFFF. Il reste à 1 jusqu'à activation du bit UFC (Y86). Mode BCD : =1 quand le comptage passe de 9999 à 0. Mode BIN : =1 quand le comptage passe de FFFF à 0. Il reste à 1 jusqu'à activation du bit OFC (Y87). Reflète l'état des entrées d''impulsions sur les phases A et B Reflète l'état de l'entrée Marker Indique le sens de rotation du codeur 203 Informations particulières aux H200-H252 Mots de contrôle CTH " CPU (entrées WX et sorties WY) Adresse + 10 * N° Etiquette Nom Description de slot 204 WX1 WY2 UDC PDR WY3 - WY4 WY6 - WY7 CU0 - CU3 Up / Down Counter Preset Data Register Valeur courante de comptage. Registre contenant la valeur initiale à attribuer, si souhaité, à la valeur courante de comptage UDC. Consignes 0 - 3 utilisées pour la gestion des sorties rapides, des bits "=CU0" à "=CU3" et des bits ">CU0" à ">CU3" Copyright Actron AB 1994 Informations particulières aux H200-H252 Copyright Actron AB 1994 205 Informations particulières aux H200-H252 206 Copyright Actron AB 1994 Informations particulières au H300-H2002 Informations particulières aux H300-H2002 Copyright Actron AB 1994 203 Informations particulières aux H300-H2002 204 Copyright Actron AB 1994 Informations particulières au H300-H2002 Informations particulières aux H300-H2002 LED Pause LED RUN LED mode Forçage LED Erreur Carte d'E/S Carte d'alimentation Clé Start / Remote/Stop Indicateur de code d'erreur Port série pour connection PC ou terminal Raccordement tension réseau Choix 220 ou 110 V AC Borne de terre Contact RUN Connecteur d'extension Carte CPU RS232C supplémentaire Casette mémoire Couvercle démontable LED d'indication d'état des E/S Différences entre les H300-H2000 et les H302-H2002 • Les H302-H2002 ont une vitesse de scrutation plus rapide de 15 à 20% que les H300 -H2000. • Les H302-H2002 possèdent une horloge temps réel (RTC) en standard. • Ils ont un jeu d'instructions plus étendu; voir à ce sujet le chapitre relatif aux instructions avancées pour H252 et H302-H2002 en page 211. Parmi ces instructions, on trouve les fonctions PID et trigonométriques. • Les H302-H2002 possèdent un port série complémentaire pour connection vers imprimante, périphériques ou PC. Les instructions TRNS, QTRNS ,RECV et QRECV permettent au programme de communiquer avec cette liaison série. • Les H302-H2002, avec les modules mémoire RAM3-x, permettent une programmation "en ligne" avec des temps de réaction plus courts. Copyright Actron AB 1994 205 Informations particulières aux H300-H2002 Les configurations maximum des H300-H2002. H700/H702 H300/H302 H2000/H2002 288 E/S (576 avec cartes 64 E/S) Rack type BSU 640 E/S (1280 avec cartes 64 E/S) Rack type EXU 2048 E/S (4096 avec carte 64 E/S) Communication Pour la communication via la sortie série du CPU, veuillez vous reporter à la page 129. Cartes réseau LINK-H et OLINK-H : Avec les cartes LINK-H et OLINK-H, vous pouvez connecter jusqu'à 64 automates. La zone mémoire r éservée à l'usage du réseau comporte 1024 mots ou 16 k bits. Deux modules de ce type peuvent être montés dans un seul automate, ces modules travaillent chacun avec une zone mémoire distincte. Les zones mémoire sont divisées entre les différents PLC grâce au menu "Setup PLC". Voyez à ce propos les explications données en page 195. Carte réseau COMM-H : Jusqu'à 32 stations RS-422 Liaison par paire torsadée Station 1 Station 2 Station 3 Le module COMM-H possède un port série qui utilise le même protocole que le port série du CPU. Grâce aux softwares ActSip-H et ActGraf, vous pouvez stipuler le numéro (adresse) de l'automate que vous souhaitez atteindre pour en modifier, visualiser ou contrôler le programme via le réseau COMM-H. Voyez à ce propos le manuel relatif à ces softwares. 206 Copyright Actron AB 1994 Informations particulières au H300-H2002 Modules to H300-H2002 Type de carte CPU standards CPU avancés avec PID, horloge temps réel, et port série suppl. Mémoires pour CPU H300-H2000 Mémoires pour H302-H2002 Carte d'extension Plaques de base Plaques d'extension Cartes d'alimentation Câbles d'extension Cartes d'entrées Copyright Actron AB 1994 Référence Description CPU-20Ha CPU-07Ha CPU-03Ha CPU2-20H CPU2-07H CPU2-03H RAM-04H RAM-08H RAM-16H RAM-48H ROM-16H RAM2-04H RAM2-08H RAM2-16H RAM2-48H RAM3-08H RAM3-16H RAM3-48H ROM2-16H ROM2-48H IOC-01H BSU-09H BSU-05H BSU-02H EXU-11H EXU-07H EXU-04H BEU-04H AVR-02H AVR-04H AVR-06H AVR-08H AVR-04DH AVR-08DH CBL-05H CBL-10H CBL-20H CBL-40H CBE-05H CBE-10H CBE-20H CBE-40H CB-LEDH XAC10AH XAC20AH XAC10BH XAC20BH XDC24AH XDC48AH XDC24BH XDC48BH XHS24BH XDC12DH XDC24D2H XTT05BH CPU H2000 2048 (4096) E/S, mémoire maxi 48 k instr. CPU H700 640 (1280) E/S, mémoire maxi 16 k instr. CPU H300 288 (576) E/S, mémoire maxi 8 k instr. CPU H2002 2048 (4096) E/S, mémoire maxi 48 k instr. CPU H702 640 (1280) E/S, mémoire maxi 16 k instr. CPU H302 288 (576) E/S, mémoire maxi 8 k instr. 3.6 k instructions 7.6 k instructions 15.7 k instructions 48.5 k instructions 15.7 k instructions 3.6 k instructions 7.6 k instructions 15.7 k instructions 48.5 k instructions 7.6 k instructions (programmation En Ligne rapide) 15.7 k instructions (programmation En Ligne rapide) 48.5 k instructions (programmation En Ligne rapide) 15.7 k instructions 48.5 k instructions utilisée dans toutes les unités d'extension Plaque de base de 9 emplacements Plaque de base de 5 emplacements Plaque de base de 2 emplacements Plaque d'extension de 11 emplacements Plaque d'extension de 7 emplacements Plaque d'extension de 4 emplacements idem pour utilisation carte REM-MAH 220 VAC: 5 V DC délivrant 2 A 24 V DC délivrant 2 A 220 VAC: 5 V DC délivrant 4 A 24 V DC délivrant 1.5 A 220 VAC: 5 V DC délivrant 6 A 24 V DC délivrant 1.0 A 220 VAC: 5 V DC délivrant 9 A 24 V DC délivrant 0.5 A 24 VDC: 5 V DC délivrant 4 A 24 V DC délivrant 1.5 A 24 VDC: 5 V DC délivrant 6 A 24 V DC délivrant 1.0 A 0.5 m Unité de base vers unité d'extension 1.0 m Unité de base vers unité d'extension 2.0 m Unité de base vers unité d'extension 4.0 m Unité de base vers unité d'extension 0.5 m Unité d'extension vers autre unité d'extension 1.0 m Unité d'extension vers autre unité d'extension 2.0 m Unité d'extension vers autre unité d'extension 4.0 m Unité d'extension vers autre unité d'extension 4.0 m pour montage du couvercle avec LED séparé de la carte d'E/S. 16 entrées 85-132 V AC 16 entrées 170-264 V AC 32 entrées 85-132 V AC 32 entrées 170-264 V AC 16 entrées 12/24 V AC/DC 16 entrées 48 V AC/DC 32 entrées 12/24 V AC/DC 32 entrées 48 V AC/DC 32 entrées rapides 12/24 V AC/DC 64 entrées 12 VDC 64 entrées 24 VDC 32 entrées 3-15 V DC niveau TTL 207 Informations particulières aux H300-H2002 Cartes de sorties Cartes d'entrées analogiques Cartes de sorties analogiques cartes spéciales Cartes et accessoires pour réseau YRY20AH YRY20BH YSR20AH YSR20BH YTR48AH YTR48BH YTR24DH YTS48AH YTS48BH YTS24DH YTT05BH YDR20AH XAGV08H XAGC08H XAGV12H XAGC12H YAGV08H YAGC08H YAGV12H YAGC12H XCU001H XCU232H POSIT-A2H POSIT-2H POSIT-H ASCII-1H BASIC-H XRTD01H SIO-H CLOCK-H XINTOAH ETH-LAN COMM-2H Kab RS-232 LINK-H REM-MAH REM-LOH REM-MMH Consoles de programmation Accessoires 208 REM-LMH PGM-CHH PGM-GPH PGMIF1H PGCB02H PGCB05H LIBAT-H DUMMY-H 16 sorties 240 VAC, 24 VDC, 2A Relais 32 sorties 240 VAC, 24 VDC, 2A Relais 16 sorties 100-240 VAC 1.7A Triac 32 sorties 100-240 VAC 1.7A Triac 16 sorties 24/48 VDC 2A Transistor, NPN 32 sorties 24/48 VDC 0.7A Transistor, NPN 64 sorties 24/48 VDC 0.1A Transistor, NPN 16 sorties 24/48 VDC 2A Transistor, PNP 32 sorties 24/48 VDC 0.7A Transistor, PNP 64 sorties 24/48 VDC 0.1A Transistor, PNP 32 sorties 4-15 VDC, 20 mA TTL, PNP 16 sorties indépendantes 240 VAC, 24 VDC, 2A Relais 0-10 V DC, 8 bits, 8 canaux 4-20 mA, 8 bits, 8 canaux -10- +10 V DC 12 bits, 8 canaux 4-20 mA, 12 bits, 8 canaux 0-10 V DC, 8 bits, 4 canaux 4-20 mA, 8 bits, 4 canaux -10- +10 V DC 12 bits, 4 canaux 4-20 mA, 12 bits, 4 canaux compteur 2 phases, 50 kHz, 16 bits, 1 canal compteur 2 phase s, 100/50 kHz, 32 bits, 2 canaux positionnement 2 axes, sorties analogiques positionnement 2 axes pour moteurs pas-à-pas positionnement 1 axe pour moteurs pas-à-pas carte ASCII pour liaison écran ou imprimante carte BASIC carte entrées PT100, 4 ou 8 canaux carte série avec 1 port RS232C et 1 port RS422 carte horloge temps réel (pour H300-H2000) carte entrées d'interruption, 16 canaux, 10-30 VDC carte de communication Ethernet 1 port RS232C , 1 port RS422 Câble pour port RS232 de carte COMM2H réseau jusqu'à 64 CPUs , 1024 mots carte maîtresse pour commande de maximum 512 E/S déportées réparties en maxi10 unités locales, liaison par câble coaxial; jusqu'à 4 cartes maîtresses par CPU carte locale pour E/S déportées, liason par câble coaxial carte maîtresse pour commande de maximum 1024 entrées et 1024 sorties réparties en maximum 12 unités locales, laison par paire torsadée. carte locale pour E/S déportées, liaison par paire torsadée programmation en instructions (mnémonique) console graphique interface imprimante et programmation d'EPROM Câble 2 m entre console et CPU Câble 5 m entre console et CPU Batterie de sauvegarde (garantie 3 ans, durée de vie 10 ans) couvercle pour emplacement non utilisé Copyright Actron AB 1994 Informations particulières au H300-H2002 Schéma électrique des cartes d'entrées de H300-H2002 : 0 0 7 7 0 7 COM0 COM 0 COM0 8 8 15 15 8 COM1 CO M1 XAC10AH XAC20AH 16 XAC10BH XAC20BH 15 COM1 23 XDC24AH XDC48AH COM2 24 31 Logique interne COM3 0 0 7 COM0 8 15 COM1 0 15 7 COM0 COM0 16 8 31 XDC24BH XDC48BH XHS24BH COM1 24 48 31 63 COM3 15 XDC12DH XDC24D2H XINT0AH COM1 COM3 Pour plus de détails, veuillez vous reporter au manuel Hitachi. Schéma électrique des cartes de sorties des H300-H2002 : Veuillez vous reporter au manuel Hitachi. Copyright Actron AB 1994 209 Informations particulières aux H300-H2002 210 Copyright Actron AB 1994 Instructions avancées pour H252 et H302-H2002 Instructions avancées pour H252 et H302-H2002 Copyright Actron AB 1994 211 Instructions avancées pour H252 et H303-H2002 212 Copyright Actron AB 1994 Instructions avancées pour H252 et H302-H2002 Instructions avancées pour H252 et H302-H2002 Instructions PID FUN 0 FUN 1 Initialisation PID contrôle PID FUN 2 calcul PID Initialise la table de gestion des boucles PID Contrôle la nécessité de recalculer la boucle PID Exécute le calcul de la boucle PID FUN0 initialise une table qui défini le nombre de boucles PID et les adresses où les valeurs et constantes de travail de ces boucles PID vont être stockées. Exemple : FUN0 (WR400) initialise la table suivante : WR400 WR401 WR402 WR403 WR404 WR405 WR406 WR406 Code d'erreur 0 Code d'erreur 1 Code d'erreur 2 Fin d'exécution normale de FUN0 Nombre de boucles PID Adresse réelle (1) de la table gérant la boucle PID1 Adresse réelle (1) de la table gérant la boucle PID2 Adresse réelle (1) de la table gérant la boucle PID3 WR n Adresse réelle (1) de la table gérant la boucle PIDn 1 à 64 boucles admises PID maxi WR444 si 64 boucles PID (1) le terme "adresse réelle" signifie l'adresse interne à l'automate et non l'adresse symbolique (Wrxxx ou Wmyyy) qui est utilisée habituellement dans les programmes.L'intruction ”ADRIO =(d,S)” permet de convertir l'adresse symbolique d en adresse réelle en S. Si la table de la boucle PID1 doit être stockée en ADRIO = (WR405,WR200) WR200 et la table PID2 en WR300, ADRIO = (WR406,WR300) vous devrez écrire les instructions suivantes : Dès que l'instruction FUN0 est exécutée, le mot interne WR200 ainsi que les 48 mots suivants contiendront les informations concernant la boucle PID1 tandis que le mot WR300 et les 48 suivants stockeront les informations de la boucle PID2. Une table de 16 bits dépend également de chaque boucle PID. L'adresse réelle de début de ces tables de bit est stockée dans le premier mot de la table PID. Pour la boucle PID1 initialisée ci-dessus, vous devrez utiliser l'instruction ADRIO (WR200,R100) si la table bit pour cette boucle commence à R100. WR200 WR201 WR202 WR203 WR204 WR205 WR206 WR207 WR208 WR209 WR20A WR20B WR20C WR20D WR20E WR20F WR210 WR211 Adresse de début de la table bit → Fréquence de mise à jour Gain proportionel Constante intégrale Constante différentielle Constante de temps différentiel Limite haute de la sortie PID Limite basse de la sortie PID Valeur initiale de la sortie PID Adresse valeur de consigne Adresse valeur mesurée Adresse valeur de sortie Mode de conversion valeur consigne Mode de conversion valeur mesurée Mode de conversion valeur de sortie Réservé (zone de travail PID) Réservé (zone de travail PID) Réservé (zone de travail PID) R100 R101 R102 R103 R104 R105 R106 R107 R108 R109 R10A R10B R10C R10D R10E R10F Bit d'exécution Bit d'anti-pompage Bit changement valeurs PID Bit S Bit R Bit PI / PID PID RUN PID en fonction Contantes PID Ok Sortie > Limite Haute Sortie < Limite Basse Erreur lors FUN2 WR22F Réservé (zone de travail PID) Toutes ces variables sont utilisables en écriture sauf R108-R10D qui ne sont utilisables qu'en lecture. Copyright Actron AB 1994 213 Instructions avancées pour H252 et H303-H2002 Exemple avec 3 boucles PID │ Initialisation des parametres boucle PID 1 (adresse table WR200-) │ │INIT ┌────────────────────────────────────────────┐│ │ │ADRIO(WR0200 , R100 ) ││ ├──┤ ├───────────────────────┤WR0201 ││ = TZ │R7E3 │WR0202 = KP ││ │ │WR0203 = T1/TZ ││ │ │WR0204 = TD/TZ ││ │ │WR0205 = Tn/TZ ││ │ │WR0206 = UL ││ │ │WR0207 = LL ││ │ │WR0208 = INITIAL ││ │ │ADRIO(WR0209 , WX0000 ) ││ │ │ADRIO(WR020A , WX0010 ) ││ │ │ADRIO(WR020B , WY0030 ) ││ │ │WR020C = SET BITPAT ││ │ │WR020D = MEA BITPAT ││ │ │WR020E = OUT BITPAT ││ │ └────────────────────────────────────────────┘│ Initialisation des parametres boucle PID 2 (adresse table WR250-) et parametres boucle PID 3 (adresse table WR300-) Initialisation de la table de gestion des boucles PID donnant le nombre de boucles et les adresses de debut des tables. │ │ │INIT ┌────────────────────────────────────────────┐│ │ │WR0404 = 3 ││ ├──┤ ├───────────────────────┤ADRIO(WR0405 , WR0200 ) ││ │R7E3 │ADRIO(WR0406 , WR0250 ) ││ │ │ADRIO(WR0407 , WR0300 ) ││ │ │FUN 0 (WR0400 ) ││ │ └────────────────────────────────────────────┘│ Programme normal (enclenchement traditionnel par circuit logique du bit de sortie R100). │ │ │ ┌────────────────────────────────────────────┐│ │ │END ││ ├────────────────────────────┤ ││ │ │ ││ │ └────────────────────────────────────────────┘│ Routine d'interruption periodique 20 ms. Execution des 3 boucles PID (si WR403 = 0, signal qu'une erreur est presente dans les informations d'initialisation, la fonction JUMP evite de realiser les instruction FUN 1 et FUN 2). │ │ │ ┌────────────────────────────────────────────┐│ │ │INT 1 ││ ├────────────────────────────┤ ││ │ │ ││ │ └────────────────────────────────────────────┘│ │ │ │┌ ┐ ┌────────────────────────────────────────────┐│ ││WR0403 │ │JMP 0 ││ ├┤ == ├────────┤ ││ ││0 │ │ ││ │└ ┘ └────────────────────────────────────────────┘│ │ │ │ ┌────────────────────────────────────────────┐│ │ │FUN 1 (WR0400 ) ││ ├────────────────────────────┤FUN 2 (WR0200 ) ││ │ │FUN 2 (WR0250 ) ││ │ │FUN 2 (WR0300 ) ││ │ └────────────────────────────────────────────┘│ │ │ │ │ │ ┌────────────────────────────────────────────┐│ │ │LBL 0 ││ ├────────────────────────────┤RTI ││ │ │ ││ │ └────────────────────────────────────────────┘│ Pour plus de détails, consultez le manuel de programmation Hitachi. Fonction trigonométriques FUN 10 Fonction SIN FUN FUN FUN FUN FUN Fonction Fonction Fonction Fonction Fonction 11 12 13 14 15 COS TAN Arc Sin Arc Cos Arc Tan Voyez la courte description ci-dessous et le manuel Hitachi pour plus de détails " " " " " Principe de programmation de ces instructions : Mots WR, WM ou WL 214 L'argument en Degré est lu en S et le résultat est placé en S+1 et S+2: Exemple : pour obtenir le SIN( 40), vous programmerez : Pour les fonctions Arc, ce sera le contraire: La valeur entière (0) va dans WR101 tandis que la partie décimale est stockée dans WR102. Copyright Actron AB 1994 Instructions avancées pour H252 et H302-H2002 Instructions de recherche FUN 20 Data search FUN 21 Table search Cherche le nombre et l'adresse d'une valeur donnée Cherche un bloc de donnée dans une table *1 *1 Instructions de conversion ASCII FUN 30 Conversion ASCII FUN 31 Conversion ASCII FUN 32 Conversion ASCII FUN 33 Conversion ASCII FUN 34 FUN 35 FUN 36 Conversion ASCII Conversion ASCII Conversion ASCII FUN 37 Conversion ASCII FUN 38 Conversion ASCII FUN 39 Conversion ASCII FUN 40 FUN 41 FUN 42 Conversion ASCII Conversion ASCII Conversion ASCII FUN 43 Conversion ASCII Donnée binaire 16 bits vers donnée décimale ASCII Donnée binaire 32 bits vers donnée décimale ASCII Donnée binaire 16 bits vers donnée hexadécimale ASCII Donnée binaire 32 bits vers donnée hexadécimale ASCII Donnée BCD 16 bits vers donnée décimale ASCII Donnée BCD 32 bits vers donnée décimale ASCII Donnée décimale ASCII ves donnée binaire 16 bits Donnée décimale ASCII ves donnée binaire 32 bits Donnée hexadécimale ASCII ves donnée binaire 16 bits Donnée hexadécimale ASCII ves donnée binaire 32 bits Donnée décimale ASCII ves donnée BCD 16 bits Donnée décimale ASCII ves donnée BCD 32 bits Données binaires 16 bits spécifiées vers données ASCII Données ASCII spécifiées vers données 16 bits binaires *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 Instructions diverses FUN 44 FUN 46 Combine characters Compare characters Convert Word-byte FUN 47 Convert Byte-Word FUN 48 Shift one byte right Shift one byte left FUN 45 FUN 49 Concaténation de 2 chaînes de caractères *1 Comparaison *1 de 2 chaînes de caractères Conversion de Y mots de 16 bits en Y x 2 bytes de 8 bits Conversion de Y x 2 bytes de 8 bits en Y mots de 16 bits Décalage de 1 byte vers la droite *1 *1 Décalage de 1 byte vers la gauche *1 *1 Instructions de suivi de données durant exécution FUN 50 Set sampling FUN 51 Sampling FUN 52 Reset sampling Enclenche la fonction de suivi de valeur de certaines données Exécute la fonction de suivi de valeur de certaines données Déclenche la fonction de suivi de valeur de certaines données *1 *1 *1 Autres instructions FUN 60 FUN 61 Racine carré binaire Génération impulsions *1 *1 Instructions de gestion de communication série Copyright Actron AB 1994 215 Instructions avancées pour H252 et H303-H2002 TRNS RECV QTRNS QRECV ADRPR ADRIO *1 216 Transmission et réception de données à intervalle de 10 ms . (Utilisé pour ASCII, SIO, POSIT,CLOCK) Réception de données à intervalle de 10 ms . (Utilisé pour ASCII, SIO, POSIT,CLOCK) Transmission et réception de données à intervalle de 1 scrutation. (Utilisé pour ASCII, SIO, POSIT,CLOCK) Réception de données à intervalle de 1 scrutation. (Utilisé pour ASCII, SIO, POSIT,CLOCK) *1 Adresse programme Adresse réelle d'une variable; voyez la courte description des fonctions PID *1 *1 *1 *1 *1 Pour plus de détails, veuillez consulter le manuel de programmation Hitachi. Copyright Actron AB 1994 Instructions avancées pour H252 et H302-H2002 Copyright Actron AB 1994 217 Appendice Appendice Copyright Actron AB 1994 217 Appendice 218 Copyright Actron AB 1994 Appendice Appendice Bit Entrée, sortie ou variable interne qui peut prendre la valeur "ON/OFF" , "1/0" etc. ou Mot 16 bits qui peuvent recevoir une valeur comprise entre 0 et 65535. Double mot 32 bits qui peuvent recevoir une valeur comprise entre 0 et 4,294,967,295 Décimal (base 10) Signes 0 à 9 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Binaire Hexadécimal (base 16) Signes 0-9 et A-F 0 1 2 3 4 5 6 7 8 9 A B C D E F Hexadécimal (préfixe H) C689 (s'écrit HC689) Binaire (base 2) Signes 0 et 1 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 Décimal 1*20+0*21+0*23.+1*24.....1*215 =50825 9*1+8*16+6*256+12*4096=50825 MSB LSB MSD Most Significant Bit Least Significant Bit Most Significant Digit LSD Least Significant Digit Copyright Actron AB 1994 Le bit placé à la plus haute position (normalement, celui à l'extrême gauche) Le bit placé à la plus basse position (normalement, celui à l'extrême droite) Le chiffre (BCD 4 bits) placé à la plus haute position (normalement, celui à l'extrême gauche) Le chiffre (BCD 4 bits) placé à la plus basse position (normalement, celui à l'extrême droite). 219 Appendice Variables internes spéciales MOTS BITS WRF000 WRF001 WRF002 WRF003 WRF004 WRF005 WRF006 WRF007 WRF008 Code d'erreur d'auto-diagnostic Information sur erreur de synthaxe Position carte E/S <> du Setup Position carte Comm. <> du Setup Erreur de N° de slot carte Comm. Erreur de N° de slot sur carte E/S Erreur de N° de slot sur carte Remote Erreur de N° de slot sur carte Link N° du bloc de programme en erreur WRF00B WRF00C WRF00D WRF00E WRF00F WRF010 WRF011 WRF012 WRF013 WRF014 WRF015 WRF016 WRF017 WRF018 Année, Horloge Temps Réel Mois, Horloge Temps Réel Jour de la Semaine, Horloge Temps Réel Heure/Minute, Horloge Temps Réel Seconde, Horloge Temps Réel Durée de temps de cycle le plus long Durée de temps de cycle actuel Durée de temps de cycle le plus court Status du CPU Nombre de mots internes Code d'erreur de calcul Reste d'une opération calcul 16/32 bits Reste d'une opération calcul 32 bits Informations démarrage carte Comm. WRF01B WRF01C WRF01D WRF01E WRF01F WRF020 WRF021 Année, réglage Horloge Temps Réel Mois, réglage Horloge Temps Réel Jour de la Semaine, réglage H.T.R. Heure/Minute, réglage H.T.R. Seconde, réglage Horloge Temps Réel Etat de fonctionnement du module de Communication en slot 0. etc. Etat de fonctionnement du module de Communication en slot 8. WRF030 WRF031 WRF03F WRF040 WRF041 WRF049 WRF04A WRF04B WRF04C WRF04D WRF04E WRF080-097 WRF098-0AF WRF0B0-0C7 WRF0C8-0DF WRF0E0-13F WRF140-19F WRF1A0-1FF 220 Informations sur périphérique consultant le CPU (zone 1) etc. Informations sur périphérique consultant le CPU (zone 4) Informations sur périphérique consultant le CPU en mode déboguage Information d'erreur sur carte Remote 1 Information d'erreur sur carte Remote 1 Information d'erreur sur carte Remote 1 Information d'erreur sur carte Remote 1 Information d'erreur sur carte Link 1 Information d'erreur sur carte Link 2 Non utilisé R7C0 R7C1 R7C2 R7C3 R7C4 R7C5 R7C6 R7C7 R7C8 R7C9 R7CA R7CB R7CC R7CD R7CE R7CF R7D0 R7D1 R7D2 R7D3 R7D4 R7D5 R7D6 R7D7 R7D8 R7D9 R7DA R7DB R7DC R7DD R7DE R7DF R7E0 R7E1 R7E2 R7E3 R7E4 R7E5 R7E6 R7E7 R7E8 R7E9 R7EA R7EB-F R7F0 R7F1 R7F2 R7F3 R7F4 R7F5-7 R7F8 R7F9 R7FA R7FB R7FC7FF Stop/Continue lors erreur scrutation normale Stop/Continue lors erreur scrutation périodique Stop/Continue lors erreur scrutation interruption Accepte/refuse mise en RUN télécommandée Accepte/refuse mise en STOP télécommandée Accepte/refuse mode déboguage Accepte/refuse mode simulation Accepte/refuse modification prg lors RUN Erreur grave sur le CPU Erreur sur le séquenceur Erreur sur mémoire utilisateur Erreur sur Bus de pilotage des E/S Dépassement capacité mémoire utilisateur Setup des E/S correspond pas à réalité Setup carte Comm. correspond pas à réalité Carte Remote en erreur Durée scrutation normale trop longue Durée scrutation périodique trop longue Durée scrutation interruption trop longue Erreur de synthaxe Carte d'E/S en erreur Adressage carte E/S en dehors des limites Carte communication en erreur Erreur d'accès au bus système Défaut batterie Défaut alimentation Erreur détectée lors fonction d'auto-diagnostic Erreur détectée lors simulation Adressage carte Comm. en dehors des limites Carte Link en erreur Clé en position STOP Clé en position Remote Clé en position RUN ON durant 1ère scrutation après RUN Toujours ON Horloge fréquence 0,02s. Horloge fréquence 0,1s. Horloge fréquence 1s. CPU occupé par autre périphérique Bloque mise en RUN Détecte modification prg durant RUN Carry Dépassement Décallage de données Erreur de calcul Erreur de donnée Transfert horloge vers registre de réglage Transfert registre de réglage vers horloge Ajustage Horloge Temps Réel à +/- 30s. Erreur durant réglage Horloge Temps Réel - Copyright Actron AB 1994 Appendice Nombre de pas par instruction Instruction Pas par instruction 1 1 1 2 1 1 3 2 3-4 3-4 5-6 TD SS MS TMR WTD CU CTU CTD CT RCU CL d=S d=S(P) d(P)=S d(P1)=S(P2) d=S1 + S2 d=S1 B + S2 d=S1 - S2 d=S1 B - S2 d=S1 * S2 d=S1 S* S2 d=S1 B * S2 d=S1 / S2 d=S1 S/ S2 d=S1 B / S2 d= S1 OR S2 d=S1 AND S2 d=S1 R S2 d=S1 == S2 d=S1 S == S2 d=S1 <> S2 d=S1 S <> S2 d=S1 < S2 d=S1 S < S2 d=S1 <= S2 d=S1 S <= S2 BSET (d,n) BRES (d,n) BTS (d,n) SHR (d,n) SHL (d,n) ROR (d,n) ROL (d,n) LSR (d,n) LSL (d,n) BSR (d,n) BSL (d,n) WSHR (d,n) WSHL (d,n) WBSR (d,n) WBSL (d,n) MOV (d,S,n) COPY (d,S,n) XCG (d1,d2,n) Copyright Actron AB 1994 5 5 5 5 5 5 5 3 5 5 1 3 4-5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 221 Appendice NOT (d) NEG (d) ABS (d,S) SGET (d,S) EXT (d,S) BCD (d,S) BIN (d,S) DECO (d,S,n) ENCO (d,S,n) SEG (d,S) SQR (d,S) BCU (d,S) SWAP (d) FIFIT (P,n) FIFWR (P,S) FIFRD (P,d) UNIT (d,S,n) DIST (d,S,n) END CEND (S) JMP n CJMP n(S) LBL(n) RSRV n FREE START n FOR n (S) NEXT n CAL n SB n RTS INT n RTI FUN 70 (S) FUN 71 (d) FUN 72 (S) FUN 73 (d) FUN 74 (S) 2 2 3 3 3 3 3 4 4 3 4 3 2 3 3 3 4 4 1 2 2 3 1 2 1 2 3 2 2 1 1 1 1 3 3 3 3 3 FUN 0 FUN 1 FUN 2 FUN 10 FUN 11 FUN 12 FUN 13 FUN 14 FUN 15 FUN 20 FUN 21 FUN 30 FUN 31 FUN 32 FUN 33 FUN 34 FUN 35 FUN 36 FUN 37 FUN 38 FUN 39 FUN 40 FUN 41 FUN 42 FUN 43 FUN 44 FUN 45 FUN 46 FUN 47 FUN 48 FUN 49 FUN 50 FUN 51 FUN 52 FUN 60 FUN 61 222 TRNS 5 RECV 5 QTRNS 5 QRECV 5 ADRPR 3 ADRIO 3 Copyright Actron AB 1994 Appendice Copyright Actron AB 1994 223