▼
Scroll to page 2
of
1256
31007524 8/2010 ProWORX 32 Bibliothèque de blocs de schémas à contacts 31007524.01 8/2010 www.schneider-electric.com Le présent document comprend des descriptions générales et/ou des caractéristiques techniques des produits mentionnés. Il ne peut pas être utilisé pour définir ou déterminer l'adéquation ou la fiabilité de ces produits pour des applications utilisateur spécifiques. Il incombe à chaque utilisateur ou intégrateur de réaliser l'analyse de risques complète et appropriée, l'évaluation et le test des produits pour ce qui est de l'application à utiliser et de l'exécution de cette application. Ni la société Schneider Electric ni aucune de ses sociétés affiliées ou filiales ne peuvent être tenues pour responsables de la mauvaise utilisation des informations contenues dans le présent document. Si vous avez des suggestions d'amélioration ou de correction ou avez relevé des erreurs dans cette publication, veuillez nous en informer. Aucune partie de ce document ne peut être reproduite sous quelque forme ou par quelque moyen que ce soit, électronique, mécanique ou photocopie, sans l'autorisation écrite expresse de Schneider Electric. Toutes les réglementations locales, régionales et nationales pertinentes doivent être respectées lors de l'installation et de l'utilisation de ce produit. Pour des raisons de sécurité et afin de garantir la conformité aux données système documentées, seul le fabricant est habilité à effectuer des réparations sur les composants. Lorsque des équipements sont utilisés pour des applications présentant des exigences techniques de sécurité, suivez les instructions appropriées. La non-utilisation du logiciel Schneider Electric ou d'un logiciel approuvé avec nos produits matériels peut entraîner des blessures, des dommages ou un fonctionnement incorrect. Le non-respect de cette consigne peut entraîner des lésions corporelles ou des dommages matériels. © 2010 Schneider Electric. Tous droits réservés. 2 31007524 8/2010 Table des matières Consignes de sécurité . . . . . . . . . . . . . . . . . . . . . . . . . . . A propos de ce manuel . . . . . . . . . . . . . . . . . . . . . . . . . . Partie I Informations générales . . . . . . . . . . . . . . . . . . . . . . . Chapitre 1 Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Affectation de paramètres des instructions . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 2 Groupes d'instructions . . . . . . . . . . . . . . . . . . . . . . . . . . Groupes d'instructions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fonctions ASCII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instructions de compteurs et temporisateurs . . . . . . . . . . . . . . . . . . . . . . Instructions d'E/S rapides . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instructions chargeables DX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instructions mathématiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instructions de matrice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instructions diverses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instructions de transfert. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instructions d'omission/spéciales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instructions spéciales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instructions de bobines, contacts et interconnexions . . . . . . . . . . . . . . . . Chapitre 3 Régulation en boucle fermée/Valeurs analogiques. . . . Régulation en boucle fermée/Valeurs analogiques. . . . . . . . . . . . . . . . . . Sous-fonctions PCFL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Exemple PID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Exemple PID2 de régulation de niveau . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 4 Mise en forme de messages pour les opérations ASCII READ/WRIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Mise en forme de messages pour les opérations ASCII READ/WRIT . . . Identificateurs de format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Considérations d'installation spéciales du format des signaux de contrôle/commande. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 5 Bobines, contacts et interconnexions . . . . . . . . . . . . . . Bobines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Contacts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Interconnexions (liaisons) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31007524 8/2010 25 27 29 31 31 33 34 35 36 37 38 39 41 42 43 44 45 46 47 48 49 53 57 61 62 63 66 69 70 72 74 3 Chapitre 6 Traitement des interruptions . . . . . . . . . . . . . . . . . . . . . . 4 75 Traitement des interruptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 Chapitre 7 Traitement des sous-programmes . . . . . . . . . . . . . . . . . . 77 Traitement des sous-programmes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 Chapitre 8 Installation des instructions chargeables DX . . . . . . . . . 79 Installation des instructions chargeables DX . . . . . . . . . . . . . . . . . . . . . . 79 Partie II Description des instructions (de A à D) . . . . . . . . . 81 Chapitre 9 1X3X - Simulation d'entrée . . . . . . . . . . . . . . . . . . . . . . . . 83 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 85 Chapitre 10 AD16 : addition de valeurs 16 bits . . . . . . . . . . . . . . . . . . 87 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 89 Chapitre 11 ADD : addition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 93 Chapitre 12 AND : AND logique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 97 99 Chapitre 13 BCD : binaire en code binaire. . . . . . . . . . . . . . . . . . . . . . 101 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 103 Chapitre 14 BLKM : copie de bloc . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 107 Chapitre 15 BLKT : bloc vers table . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 111 112 Chapitre 16 BMDI : copie de bloc avec interruptions invalidées . . . . 113 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 115 Chapitre 17 BROT : rotation de bits . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 119 120 Chapitre 18 CALL : activation d'une fonction DX immédiate ou différée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 123 126 31007524 8/2010 Chapitre 19 CANT : interprétation des bobines, contacts, temporisateurs, compteurs et du bloc SUB. . . . . . . . . . Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 20 CCPF : configuration des profils de cames avec instruments de variables . . . . . . . . . . . . . . . . . . . . . . . . . Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 21 CCPV : configuration des profils de cames avec incréments de variables. . . . . . . . . . . . . . . . . . . . . . . . . . Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 22 CFGC : configuration d'un groupe coordonné . . . . . . . Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 23 CFGF : configuration du groupe suiveur . . . . . . . . . . . . Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 24 CFGI : configuration de l'axe imaginaire . . . . . . . . . . . . Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 25 CFGR : configuration de l'axe distant. . . . . . . . . . . . . . . Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 26 CFGS : configuration de l'axe SERCOS . . . . . . . . . . . . . Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 27 CHS : configuration de la redondance d'UC . . . . . . . . . Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 28 CKSM : total de contrôle . . . . . . . . . . . . . . . . . . . . . . . . . Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 29 CMPR : comparaison de registres . . . . . . . . . . . . . . . . . Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31007524 8/2010 129 130 131 133 137 138 139 141 142 143 145 146 147 149 150 151 153 154 155 157 158 159 161 162 163 165 166 167 169 173 174 175 177 179 180 181 182 5 Chapitre 30 Bobines. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Recommandations générales d'utilisation . . . . . . . . . . . . . . . . . . . . . . . . 184 185 Chapitre 31 COMM : fonction de communication ASCII. . . . . . . . . . . 187 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 189 Chapitre 32 COMP : complément d'une matrice . . . . . . . . . . . . . . . . . 191 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192 193 195 Chapitre 33 Contacts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 199 Chapitre 34 CONV : conversion de données . . . . . . . . . . . . . . . . . . . . 201 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202 203 Chapitre 35 CTIF : fonction compteur, temporisateur et interruption 6 205 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 207 208 Chapitre 36 DCTR : décompteur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214 215 Chapitre 37 DIOH : santé des E/S distribuées . . . . . . . . . . . . . . . . . . . 217 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218 219 221 Chapitre 38 DISA : moniteur de bits invalidés. . . . . . . . . . . . . . . . . . . 223 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224 225 Chapitre 39 DIV : division . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228 229 231 Chapitre 40 DLOG : consignation de données pour support de lecture/écriture PCMCIA . . . . . . . . . . . . . . . . . . . . . . . . . . 233 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Traitement des erreurs d'exécution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234 235 237 239 Chapitre 41 DMTH : fonctions mathématiques en double précision. 241 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242 243 31007524 8/2010 Chapitre 42 DRUM : séquenceur à tambour . . . . . . . . . . . . . . . . . . . . Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 43 DV16 : division de valeurs 16 bits. . . . . . . . . . . . . . . . . . 249 250 251 253 255 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256 257 259 Partie III Description des instructions (E) . . . . . . . . . . . . . . . . 261 Chapitre 44 EARS : système d'enregistrement d'alarme événementielle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 45 EMTH : fonctions mathématiques étendues . . . . . . . . . Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fonctions EMTH en virgule flottante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 46 EMTH-ADDDP : addition en double précision . . . . . . . . Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 47 EMTH-ADDFP : addition virgule flottante. . . . . . . . . . . . Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 48 EMTH-ADDIF : addition entier + virgule flottante . . . . . Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 49 EMTH-ANLOG: antilogarithme en base 10 . . . . . . . . . . . Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 50 EMTH-ARCOS : arccosinus à virgule flottante d'un angle (en radians) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31007524 8/2010 263 264 265 268 273 274 275 277 279 281 282 283 285 287 288 289 291 293 294 295 296 297 298 299 301 303 304 305 307 7 Chapitre 51 EMTH-ARSIN : arcsinus à virgule flottante d'un angle (en radians). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310 311 313 Chapitre 52 EMTH-ARTAN : arctangente à virgule flottante d'un angle (en radians) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316 317 319 Chapitre 53 EMTH-CHSIN : changement du signe d'un nombre à virgule flottante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322 323 325 Chapitre 54 EMTH-CMPFP : comparaison à virgule flottante . . . . . . 327 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328 329 331 Chapitre 55 EMTH-CMPIF : comparaison entier-virgule flottante . . . 333 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334 335 337 Chapitre 56 EMTH-CNVDR : conversion à virgule flottante de degrés en radians . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 339 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340 341 343 Chapitre 57 EMTH-CNVFI : conversion virgule flottante en entier . . 345 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Gestion des erreurs d'exécution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346 347 349 350 Chapitre 58 EMTH-CNVIF : conversion d'entier en virgule flottante . 351 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Gestion des erreurs d'exécution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352 353 355 356 Chapitre 59 EMTH-CNVRD : conversion en virgule flottante de radians en degrés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358 359 361 31007524 8/2010 Chapitre 60 EMTH-COS : cosinus à virgule flottante d'un angle (en radians) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 61 EMTH-DIVDP : division en double précision . . . . . . . . . Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Gestion des erreurs d'exécution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 62 EMTH-DIVFI : nombre à virgule flottante divisé par entier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 63 EMTH-DIVFP : division à virgule flottante . . . . . . . . . . . Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 64 EMTH-DIVIF : entier divisé par nombre à virgule flottante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 65 EMTH-ERLOG : consignation d'erreurs à virgule flottante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation : EMTH - ERLOG : fonctions mathématiques à virgule flottante : consignation d'erreurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 66 EMTH-EXP : fonction exponentielle à virgule flottante . Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 67 EMTH-LNFP : logarithme népérien à virgule flottante . Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 68 EMTH-LOG : logarithme en base 10 . . . . . . . . . . . . . . . . Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31007524 8/2010 363 364 365 367 369 370 371 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 391 393 394 395 397 399 400 401 403 405 406 407 409 9 Chapitre 69 EMTH-LOGFP : logarithme en base 10 à virgule flottante 412 413 415 Chapitre 70 EMTH-MULDP : multiplication en double précision . . . . 417 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418 419 421 Chapitre 71 EMTH-MULFP : multiplication à virgule flottante . . . . . . 423 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424 425 426 Chapitre 72 EMTH-MULIF : multiplication Entier x Nombre à virgule flottante. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428 429 431 Chapitre 73 EMTH-PI : chargement de la valeur à virgule flottante de "Pi" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 74 EMTH-POW : élévation d'un nombre à virgule flottante à une puissance entière . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 411 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433 434 435 437 439 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation : EMTH - POW : élévation d'un nombre à virgule flottante à une puissance entière. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440 441 443 Chapitre 75 EMTH-SINE : sinus à virgule flottante d'un angle (en radians). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation : EMTH - SINE - Fonctions mathématiques à virgule flottante - Sinus d'un angle (en radians) . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446 447 449 Chapitre 76 EMTH-SQRFP : racine carrée à virgule flottante. . . . . . . 451 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452 453 455 Chapitre 77 EMTH-SQRT : racine carrée à virgule flottante . . . . . . . . 457 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 458 459 461 31007524 8/2010 Chapitre 78 EMTH-SQRTP : racine carrée procédé . . . . . . . . . . . . . . Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 79 EMTH-SUBDP : soustraction en double précision . . . . Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation : EMTH - SUBDP : Fonctions mathématiques en double précision : Soustraction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 80 EMTH-SUBFI : soustraction virgule flottante – entier . . Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 81 EMTH-SUBFP : soustraction à virgule flottante . . . . . . Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 82 EMTH-SUBIF : soustraction entier – virgule flottante . . Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 83 EMTH-TAN : tangente à virgule flottante d'un angle (en radians) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 84 ESI : prise en charge du module ESI . . . . . . . . . . . . . . . Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . READ ASCII Message (sous-fonction 1). . . . . . . . . . . . . . . . . . . . . . . . . . WRITE ASCII Message (sous-fonction 2) . . . . . . . . . . . . . . . . . . . . . . . . . GET DATA (sous-fonction 3). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PUT DATA (sous-fonction 4). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ABORT (entrée médiane à l'état actif) . . . . . . . . . . . . . . . . . . . . . . . . . . . Erreurs d'exécution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 85 EUCA : conversion d'unités physiques et alarmes . . . . Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Exemples. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31007524 8/2010 463 464 465 467 468 469 470 471 473 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 497 502 503 505 510 511 513 514 515 517 519 11 12 Partie IV Description des instructions (de F à N) . . . . . . . . . . 527 Chapitre 86 FIN : pile premier entré . . . . . . . . . . . . . . . . . . . . . . . . . . . 529 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 530 531 532 Chapitre 87 FOUT : pile premier sorti. . . . . . . . . . . . . . . . . . . . . . . . . . 533 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534 535 537 Chapitre 88 FTOI : conversion d'un nombre à virgule flottante en entier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 539 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 540 541 Chapitre 89 GD92 – Bloc fonction flux gazeux . . . . . . . . . . . . . . . . . . 543 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres : entrées . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres : sorties . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres : sorties facultatives . . . . . . . . . . . . . . . . . . 544 545 547 553 554 Chapitre 90 Blocs fonction flux gazeux GFNX AGA n° 3 ‘85 et NX19 ‘68 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 555 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres : entrées . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres : sorties . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres : sorties facultatives . . . . . . . . . . . . . . . . . . 556 557 559 566 567 Chapitre 91 Bloc fonction flux gazeux par la méthode brute GG92 AGA n° 3 1992 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 569 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres : entrées . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres : sorties . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres : sorties facultatives . . . . . . . . . . . . . . . . . . 570 571 573 578 579 Chapitre 92 Bloc fonction flux gazeux par la méthode détaillée GM92 AGA n° 3 et n° 8 1992 . . . . . . . . . . . . . . . . . . . . . . . 581 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres : entrées . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres : sorties . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres : sorties facultatives . . . . . . . . . . . . . . . . . . 582 583 585 591 592 31007524 8/2010 Chapitre 93 Bloc fonction flux gazeux G392 AGA #3 1992 . . . . . . . . Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres : entrées . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres : sorties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres : sorties facultatives . . . . . . . . . . . . . . . . . . . Chapitre 94 HLTH : matrices des états et des historiques . . . . . . . . Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres de la partie haute (matrice de l'historique) . . Description des paramètres de la partie médiane (matrice des états) . . . Description des paramètres de la partie basse (longueur) . . . . . . . . . . . . Chapitre 95 HSBY : redondance d'UC . . . . . . . . . . . . . . . . . . . . . . . . . Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation : HSBY - Redondance d'UC. . . . . . . . . . . . . . . . . . . . . . . Description des paramètres de la partie haute . . . . . . . . . . . . . . . . . . . . . Description des paramètres de la partie médiane : HSBY - Redondance d'UC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 96 IBKR : lecture indirecte de bloc . . . . . . . . . . . . . . . . . . . Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation : IBKR - Lecture indirecte de bloc . . . . . . . . . . . . . . . . . . Chapitre 97 IBKW : écriture indirecte d'un bloc . . . . . . . . . . . . . . . . . Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 98 ICMP : comparaison d'entrée . . . . . . . . . . . . . . . . . . . . . Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation : ICMP : Comparaison d'entrée . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Blocs DRUM/ICMP en cascade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 99 ID : interruption désactivée . . . . . . . . . . . . . . . . . . . . . . . Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 100 IE : interruption activée . . . . . . . . . . . . . . . . . . . . . . . . . . Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 101 IMIO : E/S immédiate . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Gestion des erreurs d'exécution : IMIO - E/S directe . . . . . . . . . . . . . . . . 31007524 8/2010 593 594 595 597 602 603 605 606 607 609 610 615 619 621 622 623 625 626 627 628 629 631 632 633 635 636 637 639 641 643 644 645 646 647 648 649 650 651 652 653 655 657 13 14 Chapitre 102 IMOD : instruction du module d'interruption . . . . . . . . . 659 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 660 661 663 Chapitre 103 INDX : déplacement incrémental immédiat . . . . . . . . . . . 669 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 670 671 Chapitre 104 ITMR : générateur d'intervalle de temps . . . . . . . . . . . . . 673 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 674 675 677 Chapitre 105 ITOF : conversion entier en virgule flottante . . . . . . . . . 679 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 680 681 Chapitre 106 JOGS : déplacement JOG . . . . . . . . . . . . . . . . . . . . . . . . . 683 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 684 685 Chapitre 107 JSR : saut vers sous-programme. . . . . . . . . . . . . . . . . . . 687 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 688 689 Chapitre 108 LAB : étiquette d'un sous-programme. . . . . . . . . . . . . . . 691 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 692 693 694 Chapitre 109 LOAD : chargement de la mémoire flash. . . . . . . . . . . . . 695 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 696 697 698 Chapitre 110 MAP3 : transmission MAP . . . . . . . . . . . . . . . . . . . . . . . . 699 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 700 701 702 Chapitre 111 MATH : opérations sur entiers . . . . . . . . . . . . . . . . . . . . . 707 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 708 709 Chapitre 112 MBIT : modification des bits . . . . . . . . . . . . . . . . . . . . . . . 715 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 716 717 719 31007524 8/2010 Chapitre 113 MBUS : transmission MBUS . . . . . . . . . . . . . . . . . . . . . . Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . La fonction MBUS Lire statistiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 114 MMFB : bloc de bits de la structure de mouvement Modicon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 721 722 723 725 727 731 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 732 733 Chapitre 115 MMFE : sous-programme des paramètres étendus de la structure de mouvement Modicon . . . . . . . . . . . . . . . . . 735 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 736 737 Chapitre 116 MMFI : bloc d'initialisation de la structure de mouvement Modicon . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 117 MMFS : bloc de sous-programme de la structure de mouvement Modicon . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 118 MOVE : déplacement absolu . . . . . . . . . . . . . . . . . . . . . . Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 119 MRTM : module de transfert à registres multiples . . . . Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 120 MSPX (Seriplex) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 121 MSTR : maître . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Commande MSTR Ecrire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Commande MSTR LIRE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Commande MSTR Lire statistiques locales . . . . . . . . . . . . . . . . . . . . . . . Commande MSTR Supprimer statistiques locales . . . . . . . . . . . . . . . . . . Commande MSTR Ecrire données globales . . . . . . . . . . . . . . . . . . . . . . . Commande MSTR Lire données globales . . . . . . . . . . . . . . . . . . . . . . . . Commande MSTR Lire statistiques distantes . . . . . . . . . . . . . . . . . . . . . . Commande MSTR Supprimer statistiques distantes. . . . . . . . . . . . . . . . . 31007524 8/2010 739 740 741 745 746 747 749 750 751 753 754 755 757 759 760 761 763 764 765 768 772 774 776 778 780 781 782 784 15 16 Commande MSTR Etat de diffusion des E/S. . . . . . . . . . . . . . . . . . . . . . Commande MSTR Réinitialiser module optionnel . . . . . . . . . . . . . . . . . . Commande MSTR Lire CTE (Table d'extension de configuration) . . . . . Commande MSTR Ecrire CTE (Table d'extension de configuration) . . . Statistiques du réseau Modbus Plus . . . . . . . . . . . . . . . . . . . . . . . . . . . . Statistiques du réseau Ethernet TCP/IP . . . . . . . . . . . . . . . . . . . . . . . . . Erreurs d'exécution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Codes d'erreur Modbus Plus et Ethernet SY/MAX . . . . . . . . . . . . . . . . . Codes d'erreur spécifiques à SY/MAX. . . . . . . . . . . . . . . . . . . . . . . . . . . Codes d'erreur Ethernet TCP/IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Codes d'erreur CTE pour Ethernet SY/MAX et Ethernet TCP/IP . . . . . . 786 788 790 792 794 799 800 801 803 805 808 Chapitre 122 MU16 : multiplication de valeurs 16 bits . . . . . . . . . . . . . 809 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 810 811 Chapitre 123 MUL : multiplication. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 813 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 814 815 817 Chapitre 124 NBIT : contrôle des bits. . . . . . . . . . . . . . . . . . . . . . . . . . . 819 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 820 821 Chapitre 125 NCBT : bit normalement fermé (NF). . . . . . . . . . . . . . . . . 823 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 824 825 Chapitre 126 NOBT : bit normalement ouvert (NO). . . . . . . . . . . . . . . . 827 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 828 829 Chapitre 127 NOL : module d'option réseau pour Lonworks. . . . . . . . 831 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description détaillée. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 832 833 834 Partie V Description des instructions (de O à Q) . . . . . . . . . 837 Chapitre 128 OR : OU logique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 839 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 840 841 843 Chapitre 129 PCFL : bibliothèque des fonctions de régulation de procédés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 845 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 846 847 848 31007524 8/2010 Chapitre 130 PCFL-AIN : entrée analogique . . . . . . . . . . . . . . . . . . . . . Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 131 PCFL-ALARM : gestionnaire central d'alarmes . . . . . . . Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 132 PCFL-AOUT : sortie analogique . . . . . . . . . . . . . . . . . . . Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 133 PCFL-AVER : moyenne des entrées pondérées . . . . . . Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 134 PCFL-CALC : calcul d'une formule prédéfinie . . . . . . . . Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 135 PCFL-DELAY : file d'attente de retard temporel . . . . . . Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 136 PCFL-EQN : calculateur d'équations formatées . . . . . . 853 854 855 856 859 860 861 862 865 866 867 868 869 870 871 872 875 876 877 878 881 882 883 884 885 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 886 887 888 Chapitre 137 PCFL-INTEG : intégration d'entrées à intervalles définis 891 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 892 893 894 Chapitre 138 PCFL-KPID : PID ISA complet non interactif . . . . . . . . . Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 139 PCFL-LIMIT : Limite de Vp . . . . . . . . . . . . . . . . . . . . . . . . Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31007524 8/2010 895 896 897 898 901 902 903 904 17 Chapitre 140 PCFL-LIMV : limite de la vitesse de variation de VP. . . . 905 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 906 907 908 Chapitre 141 PCFL-LKUP : table de conversion . . . . . . . . . . . . . . . . . . 909 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 910 911 912 Chapitre 142 PCFL-LLAG : Filtre avance/retard du premier ordre . . . 915 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 916 917 918 Chapitre 143 PCFL-MODE : configuration de l'entrée en mode manuel ou automatique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 920 921 922 Chapitre 144 PCFL-ONOFF : valeurs activée/désactivée de la plage neutre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 923 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 924 925 926 Chapitre 145 PCFL-PI : PI ISA non interactif . . . . . . . . . . . . . . . . . . . . . 927 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 928 929 930 Chapitre 146 PCFL-PID : Algorithmes PID . . . . . . . . . . . . . . . . . . . . . . . 933 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 934 935 936 Chapitre 147 PCFL-RAMP : rampe vers la consigne à pente constante Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 148 PCFL-RATE : calcul du taux dérivé sur une durée définie 18 919 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 939 940 941 942 943 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 944 945 946 Chapitre 149 PCFL-RATIO : régulateur de rapports 4 positions . . . . . 947 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 948 949 950 31007524 8/2010 Chapitre 150 PCFL-RMPLN : rampe logarithmique vers consigne . . Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 151 PCFL-SEL : sélection d'entrées. . . . . . . . . . . . . . . . . . . . Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 152 PCFL-TOTAL : totalisateur de flux . . . . . . . . . . . . . . . . . Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 153 PEER : transmission PEER . . . . . . . . . . . . . . . . . . . . . . . Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 154 PID2 : proportionnelle–intégrale–dérivée. . . . . . . . . . . . 951 952 953 954 955 956 957 958 961 962 963 964 967 968 969 970 971 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description détaillée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Erreurs d'exécution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 972 973 975 978 983 Partie VI Description des instructions (de R à Z) . . . . . . . . . . 985 Chapitre 155 R --> T : registre vers Table . . . . . . . . . . . . . . . . . . . . . . . Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 156 RBIT : mise à 0 de bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 157 READ : lecture. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 158 RET : retour d'un sous-programme . . . . . . . . . . . . . . . . Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation : RET - Retour à la logique ordonnancée . . . . . . . . . . . . Chapitre 159 RTTI : table registre vers entrée . . . . . . . . . . . . . . . . . . . Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 160 RTTO : table registre vers sortie . . . . . . . . . . . . . . . . . . . Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31007524 8/2010 987 988 989 990 991 992 993 995 996 997 998 1001 1002 1003 1005 1006 1007 1009 1010 1011 19 20 Chapitre 161 RTU : terminal déporté . . . . . . . . . . . . . . . . . . . . . . . . . . . 1013 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1014 1015 Chapitre 162 SAVE : sauvegarde mémoire flash. . . . . . . . . . . . . . . . . . 1019 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1020 1021 1022 Chapitre 163 SBIT : mise à 1 de bit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1023 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1024 1025 Chapitre 164 SCIF : interfaces de commande séquentielle . . . . . . . . . 1027 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1028 1029 1031 Chapitre 165 SENS : détection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1033 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1034 1035 1037 Chapitre 166 Liaisons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1039 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1040 1041 Chapitre 167 SKP : omission de réseaux. . . . . . . . . . . . . . . . . . . . . . . . 1043 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1044 1045 Chapitre 168 SRCH: recherche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1047 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1048 1049 1051 Chapitre 169 STAT : état . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1053 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description de la table des états . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Mots 1 à 11 de l'état de l'automate pour Quantum et Momentum . . . . . . Mots 12 à 20 de l'état de fonctionnement des modules d'E/S pour Momentum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Mots 12 à 171 de l'état de fonctionnement des modules d'E/S pour Quantum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Mots 172 à 277 de l'état de communication pour Quantum . . . . . . . . . . Mots 1 à 11 de l'état de l'automate pour TSX Compact et Atrium . . . . . . Mots 12 à 15 de la santé des modules d'E/S pour TSX Compact . . . . . . Mots 182 à 184 de l'état du fonctionnement global et des nouvelles tentatives pour TSX Compact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1054 1055 1056 1057 1061 1066 1068 1070 1075 1078 1079 31007524 8/2010 Chapitre 170 SU16 : soustraction de valeurs 16 bits. . . . . . . . . . . . . . Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 171 SUB : soustraction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 172 SWAP : permutation de bits VME . . . . . . . . . . . . . . . . . . Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 173 TTR : table vers registre. . . . . . . . . . . . . . . . . . . . . . . . . . Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation : TTR - Table vers registre . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 174 T --> R : table vers registre . . . . . . . . . . . . . . . . . . . . . . . Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 175 T --> T : table vers table . . . . . . . . . . . . . . . . . . . . . . . . . . Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 176 Temporisation T.01 : temporisation au centième de seconde . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 177 Temporisation T0.1 : temporisation au dixième de seconde . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 178 Temporisation T1.0 : temporisation à la seconde . . . . . Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 179 Temporisation T1MS : temporisation à la milliseconde Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 180 TBLK : table vers bloc . . . . . . . . . . . . . . . . . . . . . . . . . . . Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 181 TEST : comparaison de deux valeurs. . . . . . . . . . . . . . . Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31007524 8/2010 1081 1082 1083 1085 1086 1087 1089 1090 1091 1093 1094 1095 1097 1098 1099 1101 1103 1104 1105 1107 1109 1110 1111 1113 1114 1115 1117 1118 1119 1121 1122 1123 1124 1127 1128 1129 1131 1133 1134 1135 21 22 Chapitre 182 UCTR : compteur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1137 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1138 1139 Chapitre 183 VMER : lecture de VME . . . . . . . . . . . . . . . . . . . . . . . . . . . 1141 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1142 1143 1145 Chapitre 184 VMEW : écriture VME. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1147 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1148 1149 1151 Chapitre 185 WRIT : écriture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1153 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1154 1155 1157 Chapitre 186 XMIT : émission . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1159 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fonctions Modbus du XMIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1160 1161 Chapitre 187 Bloc de communication XMIT. . . . . . . . . . . . . . . . . . . . . . 1167 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1168 1169 1171 1176 1178 Chapitre 188 Bloc d'état du port XMIT . . . . . . . . . . . . . . . . . . . . . . . . . . 1179 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1180 1181 1183 Chapitre 189 Bloc de conversion XMIT . . . . . . . . . . . . . . . . . . . . . . . . . 1187 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1188 1189 1191 Chapitre 190 XMRD : lecture de mémoire étendue . . . . . . . . . . . . . . . . 1195 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1196 1197 1198 Chapitre 191 XMWT : écriture en mémoire étendue . . . . . . . . . . . . . . . 1201 Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1202 1203 1205 31007524 8/2010 Chapitre 192 XOR : OU exclusif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1207 1208 1209 1211 Glossaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1213 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1243 31007524 8/2010 23 24 31007524 8/2010 Consignes de sécurité § Informations importantes AVIS Lisez attentivement ces instructions et examinez le matériel pour vous familiariser avec l'appareil avant de tenter de l'installer, de le faire fonctionner ou d’assurer sa maintenance. Les messages spéciaux suivants que vous trouverez dans cette documentation ou sur l'appareil ont pour but de vous mettre en garde contre des risques potentiels ou d’attirer votre attention sur des informations qui clarifient ou simplifient une procédure. 31007524 8/2010 25 REMARQUE IMPORTANTE L’installation, l’utilisation, la réparation et la maintenance des équipements électriques doivent être assurées par du personnel qualifié uniquement. Schneider Electric décline toute responsabilité quant aux conséquences de l’utilisation de cet appareil. Une personne qualifiée est une personne disposant de compétences et de connaissances dans le domaine de la construction et du fonctionnement des équipements électriques et installations et ayant bénéficié d'une formation de sécurité afin de reconnaître et d’éviter les risques encourus. 26 31007524 8/2010 A propos de ce manuel Présentation Objectif du document Cette documentation vous aidera à configurer les instructions de schéma à contacts de ProWORX32. Champ d'application Cette documentation s'applique à ProWORX 32 sous Microsoft Windows 98, Windows 2000 et Windows NT 4.x. NOTE : Vous trouverez d'autres informations à jour dans le fichier README dans ProWORX 32. Document à consulter Titre de documentation Référence Guide utilisateur du bloc fonction XMIT 840 USE 113 Guide de planification et d'installation du système de redondance d'UC Quantum 840 USE 106 Guide de planification et d'installation du réseau Modbus Plus 890 USE 100 Guide utilisateur du module d'interface ASCII Quantum 140 ESI 062 10 840 USE 108 Guide utilisateur de l'interface réseau Modicon S980 MAP 3.0 GM-MAP3-001 Vous pouvez télécharger ces publications et autres informations techniques depuis notre site web à l'adresse : www.schneider-electric.com. Commentaires utilisateur Envoyez vos commentaires à l'adresse e-mail [email protected] 31007524 8/2010 27 28 31007524 8/2010 Informations générales 31007524 8/2010 Informations générales I Présentation Cette section contient des informations générales sur les groupes d'instructions et sur l'utilisation des instructions. Contenu de cette partie Cette partie contient les chapitres suivants : Chapitre 31007524 8/2010 Titre du chapitre Page 1 Instructions 31 2 Groupes d'instructions 33 3 Régulation en boucle fermée/Valeurs analogiques 47 4 Mise en forme de messages pour les opérations ASCII READ/WRIT 61 5 Bobines, contacts et interconnexions 69 6 Traitement des interruptions 75 7 Traitement des sous-programmes 77 8 Installation des instructions chargeables DX 79 29 Informations générales 30 31007524 8/2010 Instructions 31007524 8/2010 Instructions 1 Affectation de paramètres des instructions Généralités La programmation des automates implique la mise en œuvre par un utilisateur d'instructions opérationnelles codées sous forme d'objets visuels organisés en une forme reconnaissable de schéma à contacts. Les objets de programme conçus au niveau de l'utilisateur sont convertis pendant le processus de téléchargement en codes opérandes que l'ordinateur peut exploiter. Les codes opérandes sont décodés par l'UC et exécutés par les fonctions du micrologiciel de l'automate pour mettre en oeuvre l'automatisme souhaité. Chaque instruction comporte une opération, des parties nécessaires à cette opération, ainsi que des entrées et sorties. 31007524 8/2010 31 Instructions Affectation de paramètres Affectation des paramètres à l'exemple de l'instruction DV16 : Opération L'opération détermine la fonctionnalité qui doit être exécutée par l'instruction, par exemple le décalage de registre, les opérations de conversion. Parties, entrées et sorties Les parties, les entrées et les sorties identifient les paramètres d'exécution de la commande. 32 31007524 8/2010 Groupes d'instructions 31007524 8/2010 Groupes d'instructions 2 Introduction Vous trouverez dans ce chapitre une présentation des groupes d'instructions. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Groupes d'instructions 34 Fonctions ASCII 35 Instructions de compteurs et temporisateurs 36 Instructions d'E/S rapides 37 Instructions chargeables DX 38 Instructions mathématiques 39 Instructions de matrice 41 Instructions diverses 42 Instructions de transfert 43 Instructions d'omission/spéciales 44 Instructions spéciales 45 Instructions de bobines, contacts et interconnexions 46 33 Groupes d'instructions Groupes d'instructions Généralités Toutes les instructions se rattachent à l'un des groupes suivants. ASCII Functions (voir page 35) z Counters/Timers (voir page 36) z Fast I/O Instructions (voir page 37) z Loadable DX (voir page 38) z Math (voir page 39) z Matrix (voir page 41) z Miscellaneous (voir page 42) z Move (voir page 43) z Skips/Specials (voir page 44) z Special (voir page 45) z Coils, Contacts and Interconnects (voir page 46) z 34 31007524 8/2010 Groupes d'instructions Fonctions ASCII Fonctions ASCII Ce groupe contient les instructions suivantes. Instruction Signification Disponible dans la famille d'automates READ Lecture des messages ASCII oui non non non WRIT Ecriture des messages ASCII oui non non non Quantum Compact Momentum Atrium Les automates acceptant les messages ASCII utilisent des instructions appelées READ et WRIT pour gérer l'envoi de messages vers les appareils d'affichage et la réception de messages depuis les appareils d'entrée. Ces instructions disposent des programmes nécessaires à la communication entre le tableau des messages ASCII de la mémoire système de l'automate et un module d'interface au niveau des stations d'E/S décentralisées. Pour plus d'informations, reportez-vous à la section Mise en forme de messages pour les opérations ASCII READ/WRIT, page 61. 31007524 8/2010 35 Groupes d'instructions Instructions de compteurs et temporisateurs Instructions de compteurs et temporisateurs Le tableau suivant présente les instructions de compteurs/temporisateurs. Instruction Signification Disponible dans la famille d'automates Quantum Compact Momentum Atrium UCTR Comptage depuis 0 jusqu'à une valeur préréglée oui oui oui oui DCTR Décomptage depuis une valeur préréglée jusqu'à zéro oui oui oui oui T1.0 Temporisateur incrémentant en secondes oui oui oui oui T0.1 Temporisateur incrémentant en dixièmes de secondes oui oui oui oui T.01 Temporisateur incrémentant en centièmes de secondes oui oui oui oui T1MS Temporisateur incrémentant en millièmes de secondes oui oui (Voir la remarque. ) oui oui NOTE : L'instruction T1MS est disponible uniquement sur le B984-102, sur le Micro 311, 411, 512 et 612, ainsi que sur le Quantum 424 02. 36 31007524 8/2010 Groupes d'instructions Instructions d'E/S rapides Instructions d'E/S rapides Les instructions suivantes sont conçues pour toute une série de fonctions servant à la mise à jour rapide des E/S. Instruction Signification Disponible dans la famille d'automates Quantum Compact Momentum Atrium BMDI Copie de bloc avec interruptions invalidées oui oui non oui ID Désactivation de l'interruption oui oui non oui IE Déclenchement de l'interruption oui oui non oui IMIO Instruction d'E/S immédiate oui oui non oui IMOD Instruction du module d'interruption oui non non oui ITMR Interruption de la temporisation d'intervalle non oui non oui Pour plus d'informations, reportez-vous à la section Traitement des interruptions, page 75. NOTE : Cette instruction n'est disponible qu'après avoir configuré une UC sans extension. 31007524 8/2010 37 Groupes d'instructions Instructions chargeables DX Instructions chargeables DX Ce groupe contient les instructions suivantes. Instruction Signification Disponible dans la famille d'automates CHS Redondance d'UC (Quantum) oui Quantum Compact Momentum Atrium non non non DRUM Séquenceur à tambour oui oui non oui ESI Prise en charge du module ESI 140 ESI 062 10 oui non non non EUCA Conversion d'unité physique et oui alarmes oui non oui HLTH Matrices d'historique et d'état oui non oui oui ICMP Comparaison d'entrée oui oui non oui MAP3 Transmission MAP 3 non non non non MBUS Transmission MBUS non non non non MRTM Module de transfert à registres oui multiples oui non oui NOL Echange de données avec le module NOL oui non non non PEER Transmission PEER non non non non XMIT Mode maître RS 232 oui oui oui non Pour plus d'informations, reportez-vous à la section Installation des instructions chargeables DX, page 79. 38 31007524 8/2010 Groupes d'instructions Instructions mathématiques Instructions mathématiques Il existe deux groupes d'instructions comportant les opérations mathématiques de base. Le premier groupe comprend quatre instructions basées sur des entiers : ADD, SUB, MUL et DIV. Le deuxième groupe contient cinq instructions comparables, AD16, SU16, TEST, MU16 et DV16, qui traitent les calculs et comparaisons mathématiques 16 bits signés et non signés. Trois instructions supplémentaires ITOF, FTOI et BCD sont prévues pour la conversion des formats des valeurs numériques (entiers en virgule flottante, virgule flottante en entier, binaire en BCD et BCD en binaire). Les opérations de conversion sont utiles pour les fonctions mathématiques complexes. Instructions basées sur des entiers Cette partie du groupe contient les instructions suivantes. Instruction Signification Disponible dans la famille d'automates Quantum Compact Momentum Atrium ADD Addition oui oui oui oui DIV Division oui oui oui oui MUL Multiplication oui oui oui oui SOU Soustraction oui oui oui oui Instructions comparables Cette partie du groupe contient les instructions suivantes. Instruction Signification 31007524 8/2010 Disponible dans la famille d'automates Quantum Compact Momentum Atrium AD16 Addition de valeurs 16 bits oui oui oui oui DV16 Division de valeurs 16 bits oui oui oui oui MU16 Multiplication de valeurs 16 bits oui oui oui oui SU16 Soustraction de valeurs 16 bits oui oui oui oui TEST Test de deux valeurs oui oui oui oui 39 Groupes d'instructions Conversion de format Cette partie du groupe contient les instructions suivantes. Instruction Signification 40 Disponible dans la famille d'automates Quantum Compact Momentum Atrium BCD Conversion de binaire en code binaire et de code binaire en binaire oui oui oui oui FTOI Conversion de virgule flottante en entier oui oui oui oui ITOF Conversion d'entier en virgule flottante oui oui oui oui 31007524 8/2010 Groupes d'instructions Instructions de matrice Instructions de matrice Une matrice est une séquence de bits de données composée de mots ou de registres de 16 bits successifs pris dans des tableaux. Les fonctions matricielles DX effectuent des opérations sur des configurations binaires au sein des tableaux. Comme pour les instructions de transfert, la longueur minimale du tableau est de 1 et la longueur maximale dépend du type d'instruction que vous utilisez ainsi que de la taille de l'UC (24 bits) de votre automate. Les groupes de 16 éléments TOR peuvent également être placés dans des tableaux. L'adresse utilisée est le premier nombre du groupe, les 15 autres étant implicites. L'adresse du premier nombre doit être de type 1 modulo 16 : 000001, 100001, 000017, 100017, 000033, 100033, ... , etc. Ce groupe contient les instructions suivantes. Instruction Signification Disponible dans la famille d'automates Quantum 31007524 8/2010 Compact Momentum Atrium AND AND logique oui oui oui oui BROT Rotation de bits oui oui oui oui CMPR Registre de comparaison oui oui oui oui COMP Complément d'une matrice oui oui oui oui MBIT Forçage d'un bit oui oui oui oui NBIT Contrôle de bit oui oui non oui NCBT Bit normalement ouvert (N.O.) oui oui non oui NOBT Bit normalement fermé (N.F.) oui oui non oui OU OU logique oui oui oui oui RBIT Mise à 0 du bit oui oui non oui SBIT Mise à 1 du bit oui oui non oui SENS Détection oui oui oui oui XOR OU exclusif oui oui oui oui 41 Groupes d'instructions Instructions diverses Instructions diverses Ce groupe contient les instructions suivantes. 42 Instruction Signification Disponible dans la famille d'automates Quantum Compact Momentum Atrium CKSM Total de contrôle oui oui oui oui DLOG non Consignation de données pour support de lecture/écriture PCMCIA oui non non EMTH Fonctions mathématiques étendues oui oui oui oui LOAD Chargement de la mémoire flash oui oui (CPU 434 12/534 14 uniquement) non oui (CCC 960 x0/980 x0 uniquement) MSTR Maître oui oui SAVE Sauvegarde mémoire flash oui oui (CPU 434 12/534 14 uniquement) SCIF Interfaces de commande oui séquentielle oui non oui XMRD Lecture de mémoire étendue oui non non oui XMWT Ecriture en mémoire étendue oui non non oui oui oui non oui (CCC 960 x0/980 x0 uniquement) 31007524 8/2010 Groupes d'instructions Instructions de transfert Instructions de transfert Ce groupe contient les instructions suivantes. Instruction Signification 31007524 8/2010 Disponible dans la famille d'automates Quantum Compact Momentum Atrium BLKM Transfert de bloc oui oui oui oui BLKT Copie de table vers bloc oui oui oui oui FIN Pile Premier entré oui oui oui oui FOUT Pile Premier sorti oui oui oui oui IBKR Lecture indirecte de bloc oui oui non oui IBKW Ecriture indirecte de bloc oui oui non oui R→T Copie de registre vers table oui oui oui oui SRCH Recherche de table oui oui oui oui T→R Copie de table vers registre oui oui oui oui T→T Copie de table vers table oui oui oui oui TBLK Copie de table vers bloc oui oui oui oui 43 Groupes d'instructions Instructions d'omission/spéciales Instructions d'omission/spéciales DANGER OMMISSION D'E/S ACCIDENTELLE Faites particulièrement attention lorsque vous utilisez l'instruction SKP. Si les entrées et sorties effectuant normalement des contrôles sont omises involontairement (ou non omises), le résultat peut engendrer des conditions dangereuses pour le personnel et les installations de l'application. Le non-respect de ces instructions provoquera la mort ou des blessures graves. Ce groupe contient les instructions suivantes. Instruction Signification Disponible dans la famille d'automates Quantum Compact Momentum Atrium JSR Saut vers sous-programme oui oui oui oui LAB Etiquette d'un sousprogramme oui oui oui oui RET Retour d'un sousprogramme oui oui oui oui SKPC Saut (constantes) oui oui oui oui SKPR Saut (registres) oui oui oui oui L'instruction SKP est une instruction de base présente dans tous les automates. Elle doit être utilisée avec précaution. 44 31007524 8/2010 Groupes d'instructions Instructions spéciales Instructions spéciales Ces instructions sont utilisées dans des situations particulières pour mesurer des événements statistiques sur tout le système de logique ou pour créer des situations particulières de régulation en boucle. Ce groupe contient les instructions suivantes. 31007524 8/2010 Instruction Signification Disponible dans la famille d'automates Quantum Compact Momentum Atrium DIOH Santé des E/S distribuées oui non non oui PCFL Bibliothèque des fonctions de régulation oui oui non oui PID2 Proportionnelle-intégraledérivée oui oui oui oui STAT Etat oui oui oui oui 45 Groupes d'instructions Instructions de bobines, contacts et interconnexions Instructions de bobines, contacts et interconnexions Il existe des bobines, contacts et interconnexions dans toutes les familles d'automates. z bobine normale z bobine verrouillée ou mémorisée z contact normalement ouvert (N.O.) z contact normalement fermé (N.F.) z contact sur front montant (F.M.) z contact sur front descendant (F.D.) z liaison horizontale z liaison verticale 46 31007524 8/2010 Régulation en boucle fermée/Valeurs analogiques 31007524 8/2010 Régulation en boucle fermée/Valeurs analogiques 3 Introduction Ce chapitre fournit des informations générales sur la configuration de la régulation en boucle fermée et l'utilisation des valeurs analogiques. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Régulation en boucle fermée/Valeurs analogiques 48 Sous-fonctions PCFL 49 Exemple PID 53 Exemple PID2 de régulation de niveau 57 47 Régulation en boucle fermée/Valeurs analogiques Régulation en boucle fermée/Valeurs analogiques Généralités Un système de régulation en boucle fermée analogique est un système dans lequel l'écart par rapport à une condition idéale du procédé est mesuré, analysé et réglé de manière à obtenir et à maintenir une erreur nulle par rapport à cette consigne. Le jeu d'instructions étendues comprend un bloc fonction proportionnelle-intégraledérivée appelé PID2 qui vous permet de programmer une régulation en boucle fermée (ou à contre-réaction) dans une logique de schéma à contacts. Définition des variables de consigne et de procédé Le point de régulation (erreur nulle) désiré, que vous définissez dans le bloc PID2, est appelé consigne (C). La mesure conditionnelle prise par comparaison avec la consigne C est appelée variable de procédé (VP). La différence entre C et VP est l'écart ou l'erreur (E) de régulation. E est introduit dans un calcul de régulation générant une sortie (S) utilisée pour régler le procédé de telle sorte que VP = C (et donc E = 0). 48 31007524 8/2010 Régulation en boucle fermée/Valeurs analogiques Sous-fonctions PCFL Généralités L'instruction PCFL vous permet d'accéder à une bibliothèque de fonctions de régulation de procédé utilisant des valeurs analogiques. Les opérations PCFL sont réparties en trois catégories principales : z calculs avancés z traitement du signal z régulation Calculs avancés Les calculs avancés sont utilisés à des fins mathématiques générales et ne sont pas limités aux applications de régulation de procédé. A l'aide des calculs avancés, vous pouvez créer des algorithmes personnalisés de traitement du signal, en déduire des états du procédé contrôlé, des mesures statistiques du procédé, etc. Des programmes mathématiques élémentaires sont déjà proposés dans l'instruction EMTH. La fonctionnalité de calcul intégrée dans PCFL est un calculateur d'équations textuelles permettant l'écriture d'équations personnalisées et évite d'avoir à programmer une série d'opérations mathématiques une à une. Traitement du signal Les fonctions de traitement du signal sont utilisées pour traiter des signaux du procédé et dérivés du procédé. Elles peuvent le faire de différentes façons ; elles linéarisent, filtrent, retardent et d'une manière générale modifient un signal. Cette catégorie comporte des fonctions telles que les entrées/sorties analogiques, les limiteurs, l'avance/retard et les générateurs de rampe. Régulation Les fonctions de régulation effectuent des régulations en boucle fermée pour des applications très diverses. Il s'agit en général d'une boucle de régulation PID (proportionnelle–intégrale–dérivée) à rétroaction. Les fonctions PID dans PCFL offrent différents niveaux de fonctionnalité. La fonction PID possède la même fonctionnalité générale que l'instruction PID2 mais utilise les opérations mathématiques à virgule flottante et représente certaines options différemment. Elle est intéressante dans les cas où PID2 n'est pas adaptée du fait de considérations numériques telles que les arrondis. 31007524 8/2010 49 Régulation en boucle fermée/Valeurs analogiques Explication des éléments des formules Signification des éléments des formules suivantes : Eléments de la formule Signification Y Sortie de régulation YP Composante proportionnelle du calcul YI Composante intégrale du calcul YD Composante dérivée du calcul Pied (Bias) Constante ajoutée à l'entrée BT Registre de transfert sans mémoire C Consigne KP Gain proportionnel Dt Temps depuis le dernier cycle TI Constante de temps d'action intégrale TD Constante de temps de la dérivée TD1 Retard de l'action dérivée XD Terme d'erreur, écart XD_1 Précédent terme d'erreur X Entrée du procédé X_1 Précédente entrée du procédé Equations générales Les équations générales suivantes sont valides. Equation Conditions Bit intégrale activé Bit intégrale désactivé Limites supérieure/inférieure avec Réduction de gain Zone de réduction de gain non utilisée 50 31007524 8/2010 Régulation en boucle fermée/Valeurs analogiques Calculs proportionnels Les équations suivantes sont valides. Equation Conditions Bit proportionnelle activé Calcul de l'intégrale Les équations suivantes sont valides. Equation Conditions Bit intégrale activé Calcul de la dérivée Les équations suivantes sont valides. Equation Conditions Base dérivée ou VP Bit dérivée activé 31007524 8/2010 51 Régulation en boucle fermée/Valeurs analogiques Schéma de la structure 52 31007524 8/2010 Régulation en boucle fermée/Valeurs analogiques Exemple PID Description Cet exemple illustre la manière de configurer une boucle PID type à l'aide de la fonction PCFL PID. Le calcul débute avec la fonction AIN, qui prend l'entrée brute simulée pour commander la sortie entre approximativement 20 et 22 lorsque l'échelle des unités physiques est réglée entre 0 et 100. Schéma 984LL Voici l'évolution de la variable du procédé au fil du temps : 31007524 8/2010 53 Régulation en boucle fermée/Valeurs analogiques Schéma à contacts PID principal La sortie AIN est copiée vers la fonction LKUP, laquelle sert à mettre à l'échelle le signal d'entrée. Cette copie s'explique par le fait que le capteur d'entrée n'est pas en mesure de générer des valeurs très linéaires ; le résultat est un signal linéaire idéal. La sortie de la table de conversion est copiée vers la fonction PID. RAMP sert à commander la montée (ou la descente) de la consigne du régulateur PID par rapport à la pente de la rampe et à l'intervalle d'exécution. Dans cet exemple, la consigne est établie dans une autre partie du programme afin de simuler un réglage à distance. La fonction MODE est placée après la fonction RAMP de manière à pouvoir commuter entre une valeur manuelle et la consigne générée par cette fonction RAMP. 54 31007524 8/2010 Régulation en boucle fermée/Valeurs analogiques Procédé simulé La fonction PID régule effectivement le procédé simulé par ce programme [valeur dans 400100 :878(déc.)]. Le simulateur de procédé est constitué de deux fonctions LLAG agissant comme filtre et entrant dans une file DELAY (file de retard) qui est également un bloc fonction PCFL. Ce montage équivaut à un procédé du second ordre avec temps mort. Les intervalles d'exécution des filtres LLAG n'ont pas d'effet sur la dynamique du procédé et ont été choisis pour fournir des mises à jour rapides. L'intervalle d'exécution de la fonction DELAY est réglé sur 1 000 ms, avec un retard de 5 intervalles, c.-à-d. 5 s. Tous les filtres LLAG avancent de 4 s et retardent de 10 s. Le gain pour chacun d'entre eux est de 1,0. En termes de régulation de procédé, la fonction de transfert peut s'écrire comme suit : La fonction AOUT ne sert qu'à convertir la valeur de régulation de sortie du procédé simulé dans la plage de 0 à 4 095, laquelle simule un équipement terrain. Ce signal entier est utilisé comme entrée de procédé dans le premier réseau. 31007524 8/2010 55 Régulation en boucle fermée/Valeurs analogiques Paramètres PID Le régulateur PID est réglé pour réguler ce procédé à 20,0, à l'aide de la méthode de Ziegler-Nichols. Le gain résultant du régulateur est de 2,16, ce qui équivaut à une zone proportionnelle de 46,3 %. Le temps d'action intégrale est réglé sur 12,5 s/répétition (4,8 répétitions/min). Le temps d'action dérivée est initialement de 3 s, puis réduit à 0,3 s pour minimiser l'effet de la dérivée. Une fonction AOUT est utilisée après la fonction PID. Elle conditionne la sortie régulée du PID en reconvertissant le signal en un entier pour l'utiliser comme valeur de régulation. Toute la boucle de régulation est précédée d'une temporisation de 0,1 s. L'intervalle d'exécution cible de la boucle entière est de 1 s et l'exécution complète de 1 s. Cependant, les fonctions utilisées ne dépendant pas du temps (AIN, LKUP, MODE et AOUT) ne doivent pas être exécutées à chaque cycle. Afin de réduire l'effet du temps de cycle, ces fonctions sont programmées pour s'exécuter moins fréquemment. La boucle de cet exemple est traitée toutes les 3 s, réduisant ainsi fortement le temps de cycle moyen. NOTE : Gardez cependant à l'esprit l'effet maximum du cycle. Lorsque vous programmez d'autres boucles, évitez de programmer l'exécution de toutes les boucles dans le même cycle. 56 31007524 8/2010 Régulation en boucle fermée/Valeurs analogiques Exemple PID2 de régulation de niveau Description Voici un schéma simplifié de procédé et instrumentation d'un séparateur d'admission d'une usine à gaz. L'admission est un fluide biphasé : liquide et gazeux. LT-1 Transmetteur de niveau 4-20 mA I/P-1 Convertisseur courant/pression 4-20 mA LV-1 Vanne de régulation, FERMÉE sur manque tension LSH-1 Interrupteur de niveau haut, normalement fermé LSL-1 Interrupteur de niveau bas, normalement ouvert LC-1 Régulateur de niveau I/P-1 S de régulation du débit dans cuve T–1 31007524 8/2010 57 Régulation en boucle fermée/Valeurs analogiques Le liquide est pompé depuis la cuve afin de maintenir un niveau constant. Le but de la régulation est de conserver un niveau constant au sein du séparateur. Les phases doivent être séparées avant d'entrer dans le procédé ; la séparation est le rôle du séparateur d'admission PV-1. Si le régulateur de niveau LC-1 ne parvient pas à remplir son rôle, le séparateur d'admission peut se remplir, laissant les liquides se mélanger au gaz ; cela pourrait endommager sérieusement les appareils tels que les compresseurs à gaz. Schémas à contacts Le niveau est régulé par le système LC-1, un automate Quantum raccordé sur un module d'entrée analogique ; I/P-1 est raccordé sur un module de sortie analogique. Nous pouvons mettre en application la boucle de régulation à l'aide du schéma 984LL suivant : Le premier bloc SUB permet de copier l'entrée analogique de LT-1 vers le registre d'entrée analogique PID2, 40113. Le second bloc SUB permet de copier la sortie S du PID2 vers la sortie I/P-1 affectée en E/S. La bobine 00101 permet de commuter la boucle du mode AUTO en mode MANUEL, si on le souhaite. Pour le mode auto, elle doit être active. 58 31007524 8/2010 Régulation en boucle fermée/Valeurs analogiques Contenu du registre Définissez la consigne en mm pour la mise à l'échelle de l'entrée (U.P.). La pleine échelle de l'entrée sera 0 à 4 000 mm (pour 0 à 4 095 en analogique brute). Renseignez le registre de la partie haute du bloc PID2 de la manière suivante. Registre Contenu Contenu Numérique Signification 400100 VP mise à l'échelle (mm) Ecrite par PID2 400101 2000 C mise à l'échelle (mm) Mise à 2 000 mm (moitié plein) au départ 400102 0000 Sortie de boucle (entre 0 et 4095 Ecrite par PID2 ; maintenez-la à 0 pour être sûr 400103 3500 Consigne alarme haute (mm) Si le niveau dépasse 3 500 mm, la bobine 000102 est activée 400104 1000 Consigne alarme basse (mm) Si le niveau chute en dessous de 1 000 mm, la bobine 000103 est activée 400105 0100 BP (%) La valeur réelle dépend de la dynamique du procédé 400106 0500 Constante intégrale (5,00 répétitions/min) La valeur réelle dépend de la dynamique du procédé 400107 0000 Constante de temps de la dérivée (par min) Si elle est positionnée sur 0, la fonction dérivée est coupée 400108 0000 Pied (Bias) (0 à 4 095) Il vaut 0 puisque nous avons une composante intégrale 400109 4095 Antisaturation haute (0 à 4 095) Normalement réglée au maximum 400110 0000 Antisaturation basse (0 à 4 Normalement réglée au minimum 095) 400111 4000 Limite physique supérieure (mm) Valeur à l'échelle de la variable du procédé lorsque l'entrée brute est à 4 095 400112 0000 Limite physique inférieure (mm) Valeur à l'échelle de la variable du procédé lorsque l'entrée brute est à 0 Mesure brute analogique (0 à 4 095) Copie de l'entrée du registre du module d'entrée analogique (300001) copié par le premier SUB Décalage par rapport au registre compteur de boucles La valeur zéro inhibe ce dispositif. Normalement, il n'est pas utilisé 400113 400114 31007524 8/2010 Commentaires 0000 59 Régulation en boucle fermée/Valeurs analogiques Registre Contenu Contenu Numérique Signification Commentaires 400115 0000 Nb max de boucles exécutées par cycle Voir registre 400114 400116 0102 Pointeur du retour intégrale Si vous le laissez à zéro, la fonction PID2 fournit automatiquement un pointeur au registre de sortie de boucle. Si la sortie réelle (400500) peut être modifiée par la valeur fournie par PID2, ce registre doit alors être réglé à 500 (400500) pour calculer correctement l'intégrale. 400117 4095 Limite haute de la sortie (0 à 4 095) Normalement réglée au maximum 400118 0000 Limite basse de la sortie (0 à 4 095) Normalement réglée au minimum 400119 0015 Constante de filtrage de la dérivée (2 à 30) Normalement réglée à 15 environ. La valeur réelle dépend du taux de bruit du signal d'entrée. Puisque nous n'utilisons pas le mode dérivée, elle n'a aucun effet sur la PID2. 400120 0000 Pointeur de l'entrée asservissement Utilisé uniquement si le dispositif PRELOAD (Préchargement) est utilisé. Si le préchargement n'est pas utilisé, il est normalement à zéro. Les valeurs des registres du bloc cible 400200 sont toutes positionnées par le bloc PID2. 60 31007524 8/2010 Mise en forme de messages pour les opérations ASCII READ/WRIT 31007524 8/2010 Mise en forme de messages pour les opérations ASCII READ/WRIT 4 Introduction Ce chapitre fournit des informations générales sur la mise en forme des messages pour les opérations ASCII READ/WRIT. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Mise en forme de messages pour les opérations ASCII READ/WRIT 62 Identificateurs de format 63 Considérations d'installation spéciales du format des signaux de contrôle/commande 66 61 Mise en forme de messages pour les opérations ASCII READ/WRIT Mise en forme de messages pour les opérations ASCII READ/WRIT Généralités Les messages ASCII utilisés dans les instructions READ et WRIT peuvent être créés à l'aide de votre logiciel de console au moyen des identificateurs de format décrits ci-dessous. Les identificateurs de format sont des symboles indiquant. z Les caractères ASCII utilisés dans le message z Le contenu du registre affiché au format ASCII z Le contenu du registre affiché au format hexadécimal z Le contenu du registre affiché au format entier z Les appels de sous-programmes d'exécution d'autres formats de messages Présentation des identificateurs de format Les identificateurs de format suivants peuvent être utilisés. 62 Identificateur Signification / Retour ASCII (CR) et saut de ligne (LF) " " Guillemets pour code de commande octal ‘ ´ Guillemets pour caractères de texte ASCII X Indicateur d'espace () Répétition du contenu des parenthèses I Entier L Zéros de tête A Alphanumérique O Octal B Binaire H Hexadécimal 31007524 8/2010 Mise en forme de messages pour les opérations ASCII Identificateurs de format Identificateur de format / Retour ASCII (CR) et saut de ligne (LF) Largeur du champ Aucun (1 par défaut) Préfixe Aucun (1 par défaut) Format d'entrée Sorties CR, LF ; les caractères ASCII ne sont pas acceptés Format de sortie Sorties CR, LF Identificateur de format " " Guillemets pour code de commande octal Largeur du champ Trois chiffres mis entre des doubles guillemets Préfixe Aucun Format d'entrée Accepte trois caractères de commande octaux Format de sortie Edite trois caractères de commande octaux Identificateur de format ‘ ´ Guillemets pour caractères de texte ASCII Largeur du champ 1 à 128 caractères Préfixe Aucun (1 par défaut) Format d'entrée Saisit le nombre de caractères imprimables en haut et/ou bas de casse définis par la taille du champ Format de sortie Donne le nombre de caractères imprimables en haut et/ou bas de casse définis par la taille du champ Identificateur de format X Indicateur d'espace, par exemple, 14X indique que 14 espaces restent libres à partir de l'endroit où l'identificateur apparaît 31007524 8/2010 Largeur du champ Aucun (1 par défaut) Préfixe 1 à 99 espaces Format d'entrée Accepte le nombre d'espaces indiqué Format de sortie Edite le nombre d'espaces indiqué 63 Mise en forme de messages pour les opérations ASCII READ/WRIT Identificateur de format ( ) Répétition du contenu des parenthèses, par exemple, 2 (4X, I5) indique qu'il faut répéter 4X, I5 deux fois Largeur du champ Aucun Préfixe 1 à 255 Format d'entrée Répète les identificateurs de format entre parenthèses le nombre de fois indiqué par le préfixe Format de sortie Répète les identificateurs de format entre parenthèses le nombre de fois indiqué par le préfixe Identificateur de format I Entier, par exemple, I5 définit cinq caractères entiers Largeur du champ 1 à 8 caractères Préfixe 1 à 99 Format d'entrée Accepte les caractères ASCII 0 à 9. Si la taille du champ n'est pas respectée, les caractères significatifs du champ sont remplis par des zéros Format de sortie Edite les caractères ASCII 0 à 9. Si la taille du champ n'est pas respectée, les caractères significatifs du champ sont remplis par des zéros. Le champ de débordement contient des astérisques. Identificateur de format L Zéros de tête, par exemple, L5 définit cinq zéros de tête 64 Largeur du champ 1 à 8 caractères Préfixe 1 à 99 Format d'entrée Accepte les caractères ASCII 0 à 9. Si la taille du champ n'est pas respectée, les caractères significatifs du champ sont remplis par des zéros Format de sortie Edite les caractères ASCII 0 à 9. Si la taille du champ n'est pas respectée, les caractères significatifs du champ sont remplis par des zéros. Le champ de débordement contient des astérisques. 31007524 8/2010 Mise en forme de messages pour les opérations ASCII Identificateur de format A Alphanumérique, par exemple, A27 définit 27 caractères alphanumériques, suffixe interdit Largeur du champ Aucun (1 par défaut) Préfixe 1 à 99 Format d'entrée Accepte tout caractère 8 bits sauf des délimiteurs réservés comme CR, LF, ESC, BKSPC, DEL. Format de sortie Edite tous les caractères de 8 bits Identificateur de format O Octal, par exemple, O2 définit deux caractères octaux Largeur du champ 1 à 6 caractères Préfixe 1 à 99 Format d'entrée Accepte les caractères ASCII 0 à 7. Si la taille du champ n'est pas respectée, les caractères significatifs sont remplis par des zéros. Format de sortie Edite les caractères ASCII 0 à 7. Si la taille du champ n'est pas respectée, les caractères significatifs sont remplis par des zéros. Aucun indicateur de débordement. Identificateur de format B Binaire, par exemple, B4 définit quatre caractères binaires Largeur du champ 1 à 16 caractères Préfixe 1 à 99 Format d'entrée Accepte les caractères ASCII 0 et 1. Si la taille du champ n'est pas respectée, les caractères significatifs sont remplis par des zéros. Format de sortie Edite les caractères ASCII 0 et 1. Si la taille du champ n'est pas respectée, les caractères significatifs sont remplis par des zéros. Aucun indicateur de débordement. Identificateur de format H Hexadécimal, par exemple, H2 définit deux caractères hexadécimaux Largeur du champ 1 à 4 caractères 31007524 8/2010 Préfixe 1 à 99 Format d'entrée Accepte les caractères ASCII 0 à 9 et A à F. Si la taille du champ n'est pas respectée, les caractères significatifs sont remplis par des zéros. Format de sortie Edite les caractères ASCII 0 à 9 et A à F. Si la taille du champ n'est pas respectée, les caractères significatifs sont remplis par des zéros. Aucun indicateur de débordement. 65 Mise en forme de messages pour les opérations ASCII READ/WRIT Considérations d'installation spéciales du format des signaux de contrôle/commande Généralités Pour contrôler et commander les signaux utilisés dans la communication de messages, indiquez le code 1002 dans le premier registre du bloc de commande (le registre affiché en partie haute). Au moyen de ce format, vous pouvez commander les lignes RTS et CTS du port utilisé pour les messages. NOTE : Dans ce format, seul le port local peut être utilisé pour les messages, c.-àd. un API parent ne peut pas contrôler ou commander les signaux d'un port enfant. Le numéro de port indiqué au cinquième registre implicite du bloc de commande doit de ce fait toujours être 1. Les trois premiers registres du bloc de données (le registre affiché et les premier et deuxième registres implicites de la partie médiane) ont un contenu prédéterminé. Registre Contenu Affiché Mémorise le mot du masque de contrôle Premier implicite Mémorise le mot des données de contrôle Deuxième implicite Mémorise le mot d'état Ces trois registres de blocs de données sont nécessaires pour ce format et de ce fait, la plage de longueur admissible (définie en partie basse) est de 3 à 255. Mot du masque de contrôle Utilisation du mot : 66 Bit Fonction 1 1 = port disponible 0 = port non disponible 2 - 15 Inutilisé 16 1 = commande RTS 0 = pas de commande RTS 31007524 8/2010 Mise en forme de messages pour les opérations ASCII Mot des données de contrôle Utilisation du mot : Bit Fonction 1 1 = prise du port 0 = libération du port 2 - 15 Inutilisé 16 1 = active RTS 0 = désactive RTS Mot d'état Utilisation du mot : 31007524 8/2010 Bit Fonction 1 1 = port occupé 2 1 = port ACTIF esclave Modbus 3 - 13 Inutilisé 14 1 = DSR ACTIF 15 1 = CTS ACTIF 16 1 = RTS ACTIF 67 Mise en forme de messages pour les opérations ASCII READ/WRIT 68 31007524 8/2010 Bobines, contacts et interconnexions 31007524 8/2010 Bobines, contacts et interconnexions 5 Introduction Ce chapitre fournit des informations sur les bobines, les contacts et les interconnexions (également appelées liaisons). Des informations sur tous les éléments du jeu d'instructions de schéma à contacts apparaissent dans une liste alphabétique. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Bobines 70 Contacts 72 Interconnexions (liaisons) 74 69 Bobines, contacts et interconnexions Bobines Définition des bobines Une bobine est une sortie TOR activée et désactivée par transmission de l'état logique du programme. Une bobine individuelle correspond à une référence 0x de la mémoire d'état de l'automate. L'automate tenant à jour en mémoire d'état les valeurs de sortie, une bobine peut être utilisée en interne par le programme logique ou en externe par la table d'affectation des E/S à un module de sortie TOR du système de contrôle-commande. Lorsqu'une bobine est ACTIVEE, elle transmet le courant à un circuit de sortie TOR ou modifie l'état d'un contact relais interne en mémoire d'état. Il existe deux types de bobines. les bobines normales z les bobines mémorisées ou verrouillées z Bobine normale AVERTISSEMENT Forçage des bobines Lorsqu'une entrée TOR (1x) est désactivée, les signaux du dispositif de champ d'entrée qui lui est affecté ne contrôlent pas son état ACTIF/REPOS. Lorsqu'une sortie TOR (0x) est désactivée, le cycle logique de l'automate ne contrôle pas l'état ACTIF/REPOS de la sortie. Lorsqu'une entrée ou une sortie TOR a été désactivée, vous pouvez modifier son état ACTIF/REPOS à l'aide de la commande Force. Il existe une exception importante à l'invalidation de bobines. Toutes les fonctions de transfert des données et de matrice de données qui utilisent des bobines dans leur élément cible, reconnaissent l'état ACTIF/REPOS de toutes les bobines de cette partie, qu'elles soient désactivées ou non. Si vous souhaitez qu'une bobine inactive le reste dans cette instruction, cela peut conduire à des effets inattendus et indésirables dans votre application. Lorsqu'une bobine ou un contact de relais a été désactivé, vous pouvez modifier son état en utilisant la fonction Force ON ou Force OFF. Si une bobine ou un contact de relais est validé, il ne peut être forcé. Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des dommages matériels. Une bobine normale est une sortie TOR indiquée comme une référence 0x. Une bobine normale est à l'état ACTIF ou REPOS, en fonction de l'évolution de l'état actif du programme. 70 31007524 8/2010 Bobines, contacts et interconnexions Un réseau logique de schéma à contacts peut contenir jusqu'à sept bobines, une par ligne maximum. Lorsqu'une bobine est insérée dans une ligne, aucun autre symbole logique ou élément d'instruction ne peut être positionné à droite de la position d'exécution logique de la sortie sur la même ligne. Les bobines sont les seuls symboles logiques de schéma à contacts qui peuvent être insérés dans la colonne 11 du réseau. Pour définir la référence TOR d'une bobine, sélectionnez-la dans l'éditeur et cliquez pour ouvrir la boite de dialogue appelée Bobine. Symbole Bobine mémorisée Si une bobine mémorisée (verrouillée) est activée lorsque l'automate n'est plus alimenté, la bobine reviendra à cet état pendant un cycle lorsque l'alimentation de l'automate sera rétablie. Pour définir une référence TOR pour la bobine, sélectionnez-la dans l'éditeur et cliquez pour ouvrir la boite de dialogue appelée Bobine mémorisée. Symbole 31007524 8/2010 71 Bobines, contacts et interconnexions Contacts Définition des contacts Les contacts permettent de faire passer ou de ne pas faire passer l'état logique d'un programme schéma à contacts. Ils s'agit de contacts TOR, c.-à-d. que chacun occupe un point E/S dans la logique du schéma à contacts. Un contact individuel peut être affecté à une référence 0x ou 1x de la mémoire d'état de l'automate, auquel cas chaque contact occupe un élément du réseau en schéma à contacts. Il existe quatre types de contacts. les contacts normalement ouverts (N.O.) z les contacts normalement fermés (N.F.) z les contacts sur front montant (F.M.) z les contacts sur front descendant (F.D.) z Contact Normalement Ouvert Un contact normalement ouvert (NO) transmet le courant lorsqu'il est à l'état actif. Pour définir une référence TOR pour le contact NO, sélectionnez-le dans l'éditeur et cliquez pour ouvrir la boite de dialogue appelée Contact NO. Symbole Contact Normalement Fermé Un contact normalement fermé (NF) est transmet le courant lorsqu'il est sur l'état repos. Pour définir une référence TOR pour le contact NF, cliquez deux fois dessus dans l'élément du schéma à contacts pour ouvrir une boite de dialogue appelée Contact NF. Symbole 72 31007524 8/2010 Bobines, contacts et interconnexions Contact sur front montant Un contact sur front montant (FM) transmet du courant seulement pendant un cycle lorsqu'il passe de l'état actif à l'état repos. Afin de définir une référence TOR pour le contact FM, sélectionnez-le dans l'éditeur et cliquez pour ouvrir une boite de dialogue appelée Contact de détection de fronts montants. Symbole Contact sur front descendant Un contact sur front descendant (FD) transmet du courant seulement pendant un cycle lorsqu'il passe de l'état actif à l'état repos. Afin de définir une référence TOR pour le contact FD, sélectionnez-le dans l'éditeur et cliquez pour ouvrir une boite de dialogue appelée Contact sur front descendant. Symbole 31007524 8/2010 73 Bobines, contacts et interconnexions Interconnexions (liaisons) Définition des interconnexions (liaisons) Les liaisons sont de simples connexions par ligne droite entre contacts et/ou instructions d'un réseau de schéma à contacts. Les liaisons peuvent être insérées horizontalement ou verticalement dans un réseau. Il existe deux sortes de liaisons. liaison horizontale z liaison verticale z Liaison horizontale Une liaison est une connexion par ligne droite entre contacts et/ou éléments d'une instruction par l'intermédiaire desquels il est possible de contrôler l'évolution de l'état logique. Une liaison horizontale est utilisée pour étendre la logique le long d'une ligne d'un réseau sans interrompre l'évolution de l'état logique. Chaque liaison horizontale occupe un élément de réseau et utilise un mot de mémoire de l'automate. Symbole Liaison verticale Une liaison verticale raccorde des contacts ou des éléments d'une instruction placés l'un au-dessus de l'autre dans une colonne. Les liaisons verticales peuvent également raccorder des entrées et sorties d'une instruction pour créer des conditions OU. Lorsque deux contacts sont raccordés par une liaison verticale, l'état 1 passe si un ou les deux contacts sont activés. La liaison verticale est unique de deux façons. z Elle peut coexister dans un élément de réseau avec un autre élément ou une autre valeur nodale z Elle n'occupe pas de mémoire automate Symbole 74 31007524 8/2010 Traitement des interruptions 31007524 8/2010 Traitement des interruptions 6 Traitement des interruptions Performances relatives aux interruptions Les instructions relatives aux interruptions s'exécutent avec un temps de gestion minimum pour le traitement. Les performances des instructions relatives aux interruptions sont particulièrement critiques. L'utilisation d'une interruption à générateur d'intervalle de temps (ITMR) ajoute environ 6 % au temps de cycle de la logique ordonnancée de schéma à contacts ; cette augmentation ne comprend pas le temps nécessaire à l'exécution du sous–programme d'interruption associé à l'interruption. Temps d'exécution de l'interruption Le tableau suivant indique les temps d'exécution minimum et maximum de l'interruption auxquels vous devez vous attendre : Gestion ITMR Temps de réponse Rien à exécuter 60 ms/ms Minimum 98 ms Maximum pendant le cycle logique et la réception de la commande Modbus 400 ms Gestion totale (sans compter le temps du cycle logique normal) 155 ms Ces temps d'exécution n'assument qu'une seule interruption à la fois. Priorités d'interruption L'automate utilise les règles suivantes pour choisir la routine d'interruption à exécuter en cas de réception simultanée de plusieurs interruptions. z Pour une interruption générée par un module d'interruption, la priorité est plus grande que pour une interruption générée par une temporisation. z Les interruptions en provenance de modules placés dans les emplacements inférieurs de l'embase locale sont prioritaires sur les interruptions des modules logés dans les emplacements supérieurs. 31007524 8/2010 75 Traitement des interruptions Si l'automate est en train d'exécuter un sous-programme d'interruption lors de la réception d'une interruption à priorité supérieure, la routine d'interruption en cours se termine avant le démarrage de la nouvelle routine d'interruption. Instructions ne pouvant être utilisées dans une gestion d'interruption Les instructions (non-réentrantes) de schéma à contacts suivantes ne peuvent être utilisées au sein d'un sous programme de gestion d'interruption. z MSTR z READ / WRIT z PCFL / EMTH z Les temporisations T1.0, T0.1, T.01, et T1MS (n'activent pas le bit d'erreur 2, résultats de temporisation invalides) z Réseaux d'équation z Instructions chargeables de l'utilisateur (n'activent pas le bit d'erreur 2) Si l'une de ces instructions est placée dans une gestion d'interruption, le sousprogramme sera abandonné, la sortie erreur de l'instruction ITMR ou IMOD générant l'interruption sera activée, et le bit 2 du registre d'état sera mis à 1. Interruption avec BMDI/ID/IE Trois instructions de contrôle masqué/démasqué de l'interruption servent à protéger les données à la fois dans la logique normale de schéma à contacts (ordonnancée) et dans la logique du sous–programme de traitement de l'interruption (non ordonnancée). Il s'agit des instructions Interruption désactivée (ID), Interruption activée (IE) et Transfert de bloc avec interruptions désactivées (BMDI). Une interruption exécutée dans la trame temporelle suivant une instruction ID et précédent l'exécution de l'instruction IE suivante est mise en mémoire tampon. L'exécution d'une interruption mise en mémoire tampon se fait au moment de la résolution de l'instruction IE. Si plusieurs interruptions du même type ont lieu entre les résolutions ID et IE, le bit d'erreur de dépassement d'interruption masquée est mis à 1 et le sous–programme déclenché par les interruptions n'est exécuté qu'une seule fois. L'instruction BMDI peut être utilisée pour masquer des interruptions générées à la fois par une temporisation et par des E/S locales, pour exécuter un seul transfert de données de bloc, puis pour démasquer les interruptions. Cela permet l'échange d'un bloc de données soit dans un sous-programme, soit à un ou plusieurs endroits du programme logique ordonnancé. Les instructions BMDI peuvent être utilisées pour réduire le temps entre l'activation et la désactivation des interruptions. Les instructions BMDI peuvent être utilisées par exemple, pour protéger les données utilisées par la routine d'interruption lorsque les données sont mises à jour ou lues par Modbus, Modbus Plus, la diffusion des E/S ou les E/S distribuées (DIO). 76 31007524 8/2010 Traitement des sous-programmes 31007524 8/2010 Traitement des sous-programmes 7 Traitement des sous-programmes Méthode JSR/LAB L'exemple ci-dessous montre une série de trois réseaux de logique utilisateur, dont le dernier est utilisé pour un sous-programme de comptage. Le segment 32 a été ôté de la table d'ordre d'exécution de l'ordonnanceur de segments. 31007524 8/2010 77 Traitement des sous-programmes Lorsque l'entrée 100001 du bloc JSR du réseau 2 du segment 1 bascule de l'état repos à l'état actif, le cycle logique saute vers le sous-programme nº 1 du réseau 1 du segment 32. Le sous-programme se bouclera sur lui-même dix fois, compté par le bloc ADD. Les neuf premières boucles se terminent par le bloc JSR dans le sous-programme (réseau 1 du segment 32) renvoyant la scrutation vers le bloc LAB. Lorsque la dixième boucle est achevée, le bloc RET renvoie la scrutation logique vers la logique ordonnancée sur l'élément JSR du réseau 2 du segment 1. 78 31007524 8/2010 Installation des instructions chargeables DX 31007524 8/2010 Installation des instructions chargeables DX 8 Installation des instructions chargeables DX Comment installer les instructions chargeables DX Vous ne pouvez disposer des instructions chargeables DX que si vous les avez installées. Lorsque vous installez le logiciel Concept, les instructions chargeables DX sont placées sur votre disque dur. Vous devez alors décompacter et installer comme suit les instructions chargeables que vous souhaitez utiliser. Etape 31007524 8/2010 Action 1 La commande de menu Projet → Configuration de l'automate permet d'ouvrir la configuration de l'automate. 2 Configurer → Instructions chargeables... permet d'ouvrir la boîte de dialogue Instructions chargeables. 3 Appuyez sur le bouton de commande Décompacter... pour ouvrir la boîte de dialogue standard de Windows Décompacter fichier de chargeable où vous pouvez sélectionner les instructions chargeables multifichiers (instructions chargeables DX). Sélectionnez le fichier d'instruction chargeable dont vous avez besoin, cliquez sur le bouton OK et il se trouve inséré dans la zone de liste Disponible :. 4 Appuyez sur le bouton de commande Installer=> pour installer l'instruction chargeable sélectionnée dans la zone de liste Disponible :. L'instruction chargeable installée sera affichée dans la zone de liste Installé :. 5 Appuyez sur le bouton de commande Edition... pour ouvrir la boîte de dialogue Configuration d'instructions chargeables. Modifiez le code opérande si nécessaire ou acceptez celui proposé par défaut. Vous pouvez affecter un code opérande à l'instruction chargeable de la zone de liste Code opérande afin de permettre l'accès du programme utilisateur par ce code. Un code opérande déjà affecté à une instruction chargeable sera identifié par un *. Cliquez sur le bouton OK. 6 Cliquez sur le bouton OK de la boîte de dialogue Instructions chargeables. Le nombre d'instructions chargeables de la configuration est ajusté. L'instruction chargeable installée est disponible à la programmation dans le menu Objets → Sélectionner instruction... → Chargeables DX. 79 Installation des instructions chargeables DX 80 31007524 8/2010 Description des instructions (de A à D) 31007524 8/2010 Description des instructions (de A à D) II Introduction Dans cette section, les descriptions des instructions sont triées par ordre alphabétique de A à D. Contenu de cette partie Cette partie contient les chapitres suivants : Chapitre 9 31007524 8/2010 Titre du chapitre 1X3X - Simulation d'entrée Page 83 10 AD16 : addition de valeurs 16 bits 87 11 ADD : addition 91 12 AND : AND logique 13 BCD : binaire en code binaire 95 14 BLKM : copie de bloc 105 15 BLKT : bloc vers table 109 16 BMDI : copie de bloc avec interruptions invalidées 113 17 BROT : rotation de bits 117 18 CALL : activation d'une fonction DX immédiate ou différée 121 19 CANT : interprétation des bobines, contacts, temporisateurs, compteurs et du bloc SUB 129 20 CCPF : configuration des profils de cames avec instruments de variables 137 21 CCPV : configuration des profils de cames avec incréments de variables 141 22 CFGC : configuration d'un groupe coordonné 145 23 CFGF : configuration du groupe suiveur 149 101 24 CFGI : configuration de l'axe imaginaire 153 25 CFGR : configuration de l'axe distant 157 26 CFGS : configuration de l'axe SERCOS 161 81 Description des instructions (de A à D) Chapitre 82 Titre du chapitre Page 27 CHS : configuration de la redondance d'UC 165 28 CKSM : total de contrôle 173 29 CMPR : comparaison de registres 179 30 Bobines 183 31 COMM : fonction de communication ASCII 187 32 COMP : complément d'une matrice 191 33 Contacts 197 34 CONV : conversion de données 201 35 CTIF : fonction compteur, temporisateur et interruption 205 36 DCTR : décompteur 213 37 DIOH : santé des E/S distribuées 217 38 DISA : moniteur de bits invalidés 223 39 DIV : division 227 40 DLOG : consignation de données pour support de lecture/écriture PCMCIA 233 41 DMTH : fonctions mathématiques en double précision 241 42 DRUM : séquenceur à tambour 249 43 DV16 : division de valeurs 16 bits 255 31007524 8/2010 1X3X - Simulation d'entrée 31007524 8/2010 1X3X - Simulation d'entrée 9 Introduction Ce chapitre décrit l'instruction 1X3X. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Description sommaire 84 Représentation 85 83 1X3X - Simulation d'entrée Description sommaire Description de la fonction L'instruction Simulation d'entrée permet de simuler de manière simple les valeurs de données d'entrées 1xxxx et 3xxx. Ce bloc est similaire à l'instruction BLKM (Copie de bloc). Lorsque l'entrée de contrôle est alimentée, la table source est copiée dans la table cible (d'entrée). 84 31007524 8/2010 1X3X - Simulation d'entrée Représentation Symbole Représentation de l'instruction Description des paramètres Description des paramètres de l'instruction Paramètres Référence de mémoire d'état Type de données Entrée haute 0x, 1x Aucun table cible (partie haute) 1x, 3x INT table source 4x (partie médiane) INT Contient la source à copier sur la cible. longueur (partie basse) INT (Longueur : NNN si 3X) Longueur : 16* si 4x Aucun Transmet le courant lorsque l'entrée haute est alimentée. Sortie haute 31007524 8/2010 Signification 0x 85 1X3X - Simulation d'entrée 86 31007524 8/2010 AD16 : addition de valeurs 16 bits 31007524 8/2010 AD16 : addition de valeurs 16 bits 10 Introduction Ce chapitre décrit l'instruction AD16. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Description sommaire 88 Représentation 89 87 AD16 : addition de valeurs 16 bits Description sommaire Description de la fonction L'instruction AD16 effectue une addition 16 bits signée ou non signée de la valeur 1 (sa partie haute) et de la valeur 2 (sa partie médiane), et mémorise la somme dans un registre de sortie 4x en partie basse. 88 31007524 8/2010 AD16 : addition de valeurs 16 bits Représentation Symbole Représentation de l'instruction Description des paramètres Description des paramètres de l'instruction 31007524 8/2010 Paramètres Référence de Type de mémoire données d'état Signification Entrée haute 0x, 1x Aucun Activée = Additionne valeur 1 et valeur 2 Entrée basse 0x, 1x Aucun Activée = Opération signée Désactivée = Opération non signée valeur 1 (partie haute) 3x, 4x INT, UINT Cumulande, peut être affiché explicitement sous forme d'entier (de 1 à 65535) ou mémorisé dans un registre valeur 2 (partie médiane) 3x, 4x INT, UINT Cumulateur, peut être affiché explicitement sous forme d'entier (de 1 à 65535) ou mémorisé dans un registre somme (partie basse) 4x INT, UINT Somme de l'addition de valeurs 16 bits Sortie haute 0x Aucun Activée = Opération réussie Sortie basse 0x Aucun Activée = Dépassement de la somme 89 AD16 : addition de valeurs 16 bits 90 31007524 8/2010 ADD : addition 31007524 8/2010 ADD : addition 11 Introduction Ce chapitre décrit l'instruction ADD. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Description sommaire 92 Représentation 93 91 ADD : addition Description sommaire Description de la fonction L'instruction ADD additionne la valeur 1 non signée (sa partie haute) et la valeur 2 non signée (sa partie médiane) et mémorise la somme dans un registre de sortie en partie basse. 92 31007524 8/2010 ADD : addition Représentation Symbole Représentation de l'instruction Description des paramètres Description des paramètres de l'instruction Paramètres 31007524 8/2010 Référence de Type de mémoire données d'état Signification Entrée haute 0x, 1x Aucun Activée = Additionne valeur 1 et valeur 2 valeur 1 (partie haute) 3x, 4x INT, UINT somme > 999 – automate 16 bits somme > 9999 – automate 24 bits 65535 – automate 785L valeur 2 (partie médiane) 3x, 4x INT, UINT somme > 999 – automate 16 bits somme > 9999 – automate 24 bits 65535 – automate 785L somme (partie basse) 4x INT, UINT Somme Sortie haute 0x Aucun Activée = Dépassement de la somme somme > 999 dans un automate 16 bits somme > 9999 dans un automate 24 bits 65535 dans un automate 785L 93 ADD : addition 94 31007524 8/2010 AND : AND logique 31007524 8/2010 AND : AND logique 12 Introduction Ce chapitre décrit l'instruction AND. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 96 Représentation 97 Description des paramètres 99 95 AND : AND logique Description sommaire Description de la fonction AVERTISSEMENT BOBINES INVALIDEES Avant d'utiliser les instructions AND, vérifiez les bobines invalidées. L'instruction AND écrasera toute bobine invalidée dans la matrice cible sans pour autant la valider. Ceci peut provoquer des dommages si une bobine a invalidé une opération pour des travaux d'entretien ou de réparation, puisque l'état de la bobine peut changer suite à l'opération AND. Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des dommages matériels. L'instruction AND effectue une opération AND booléenne sur les configurations binaires des matrices source et cible. La configuration binaire résultante est ensuite placée dans la matrice cible, écrasant ainsi le contenu précédent. 96 31007524 8/2010 AND : AND logique Représentation Symbole Représentation de l'instruction Description des paramètres Description des paramètres de l'instruction Paramètres Référence de Type de mémoire données d'état Signification Entrée haute 0x, 1x Aucun Déclenche AND matrice source (partie haute) 0x, 1x, 3x, 4x BOOL, WORD Première référence de la matrice source matrice cible (partie médiane) 0x, 4x BOOL, WORD Première référence de la matrice cible INT, UINT Longueur de la matrice, comprise entre 1 et 100 Aucun Donne une image de l'état de l'entrée haute longueur (partie basse) Sortie haute 31007524 8/2010 0x 97 AND : AND logique Exemple AND Lorsque le contact 10001 transmet du courant, la matrice source formée par la configuration binaire dans les registres 40600 et 40601 est additionnée (opération AND) à la matrice cible formée par la configuration binaire dans les registres 40604 et 40605. Les bits additionnés sont ensuite copiés dans les registres 40604 et 40605, écrasant ainsi la configuration binaire précédente dans la matrice cible. NOTE : Pour conserver la configuration binaire cible d'origine des registres 40604 et 40605, copiez les informations dans une autre table à l'aide de l'instruction BLKM avant d'exécuter l'opération AND. 98 31007524 8/2010 AND : AND logique Description des paramètres Longueur de la matrice (partie basse) Le nombre entier saisi en partie basse indique la longueur de la matrice, c'est-à-dire le nombre de registres ou de mots 16 bits des deux matrices. La longueur est comprise entre 1 et 100. La longueur 2 indique que 32 bits de chaque matrice seront additionnés. 31007524 8/2010 99 AND : AND logique 100 31007524 8/2010 BCD : binaire en code binaire 31007524 8/2010 BCD : binaire en code binaire 13 Introduction Ce chapitre décrit l'instruction BCD. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Description sommaire 102 Représentation 103 101 BCD : binaire en code binaire Description sommaire Description de la fonction L'instruction BCD peut être utilisée pour convertir une valeur binaire en une valeur binaire codée décimale (BCD) ou inversement. Le type de conversion à effectuer est déterminé par l'état de l'entrée basse. 102 31007524 8/2010 BCD : binaire en code binaire Représentation Symbole Représentation de l'instruction Description des paramètres Description des paramètres de l'instruction Paramètres Référence de Type de données mémoire d'état Signification Entrée haute 0x, 1x Aucun Activée = Valide la conversion Entrée basse 0x, 1x Aucun Activée = Conversion BCD → binaire Désactivée = Conversion binaire → BCD registre source (partie haute) 3x, 4x INT, UINT Le registre source dans lequel la valeur numérique à convertir est mémorisée registre cible (partie médiane) 4x INT, UINT Le registre cible dans lequel la valeur numérique convertie est placée INT, UINT Valeur constante, ne peut pas être changée #1 (partie basse) 31007524 8/2010 Sortie haute 0x Aucun Donne une image de l'entrée haute Sortie basse 0x Aucun Activée = Erreur dans l'opération de conversion 103 BCD : binaire en code binaire 104 31007524 8/2010 BLKM : copie de bloc 31007524 8/2010 BLKM : copie de bloc 14 Introduction Ce chapitre décrit l'instruction BLKM. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Description sommaire 106 Représentation 107 105 BLKM : copie de bloc Description sommaire Description de la fonction AVERTISSEMENT BOBINES INVALIDEES Avant d'utiliser les instructions BLKM, vérifiez les bobines invalidées. L'instruction BLKM écrasera toute bobine invalidée dans une table cible sans pour autant la valider. Ceci peut provoquer des dégâts si une bobine a été invalidée pour des travaux de réparation ou d'entretien puisque l'état de la bobine peut changer suite à l'instruction BLKM. Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des dommages matériels. L'instruction BLKM (copie de bloc) copie en un cycle l'ensemble du contenu d'une table source vers une table cible. 106 31007524 8/2010 BLKM : copie de bloc Représentation Symbole Représentation de l'instruction Description des paramètres Description des paramètres de l'instruction Paramètres Référence de Type de mémoire d'état données Signification Entrée haute 0x, 1x Aucun Activée = Déclenche la copie de bloc table source (partie haute) 0x, 1x, 3x, 4x ANY_BIT Table source dont le contenu sera copié lors de la copie de bloc table cible (partie médiane) 0x, 4x ANY_BIT Table cible dans laquelle le contenu de la table source sera copié lors de la copie de bloc INT, UINT Taille de la table (nombre de registres ou de mots 16 bits) pour les deux tables (source et cible). Les deux tables ont la même longueur. Plage : 1 ... 100 longueur de la table (partie basse) Sortie haute 31007524 8/2010 0x Aucun Donne une image de l'entrée haute 107 BLKM : copie de bloc 108 31007524 8/2010 BLKT : bloc vers table 31007524 8/2010 BLKT : bloc vers table 15 Introduction Ce chapitre décrit l'instruction BLKT. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 110 Représentation 111 Description des paramètres 112 109 BLKT : bloc vers table Description sommaire Description de la fonction AVERTISSEMENT ALTERATION REGISTRE 4x Utilisez une logique externe en combinaison avec l'entrée médiane ou l'entrée basse pour limiter la valeur du pointeur dans une plage sûre. BLKT est une instruction puissante pouvant perturber tous les registres 4x de votre automate avec des données copiées depuis le bloc source. Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des dommages matériels. L'instruction BLKT (bloc vers table) combine les fonctions R→T et BLKM en une seule instruction. En un seul cycle, elle peut copier des données depuis un bloc source vers un bloc cible d'une table. La longueur du bloc source est fixe. Le bloc de la table a la même longueur, mais la longueur totale de la table est limitée par le nombre de registres de votre configuration système. 110 31007524 8/2010 BLKT : bloc vers table Représentation Symbole Représentation de l'instruction Description des paramètres Description des paramètres de l'instruction Paramètres Référence de Type de mémoire d'état données Entrée haute 0x, 1x Aucun Activée = Déclenche la copie DX entrée médiane 0x, 1x Aucun Activée = Fige le pointeur entrée basse 0x, 1x Aucun Activée = Remet à zéro le pointeur bloc source (partie haute) 4x BYTE, WORD Premier registre de sortie dans le bloc des registres successifs dont le contenu sera copié vers un bloc de registres dans la table cible pointeur (partie médiane) 4x BYTE, WORD Pointeur vers la table cible longueur du bloc (partie basse) 31007524 8/2010 Signification INT, UINT Longueur (nombre de registres 4x) des blocs source et cible Plage : 1 ... 100 Sortie haute 0x Aucun Activée = Opération réussie Sortie médiane 0x Aucun Activée = Erreur/copie impossible 111 BLKT : bloc vers table Description des paramètres Entrée médiane et entrée basse Les entrées médiane et basse peuvent être utilisées pour commander le pointeur de manière à ce que les données source ne soient pas copiées vers les registres servant à d'autres tâches du programme logique. Lorsque l'entrée médiane est active, la valeur du registre pointeur est figée tandis que l'opération BLKT continue. Ceci a pour effet de copier de nouvelles données vers la destination écrasant les données du bloc copiées au cours du cycle précédent. Lorsque l'entrée basse est active, la valeur du registre pointeur est remise à zéro. Ceci provoque la copie par l'opération BLKT des données source vers le premier bloc de registre de la table cible. Pointeur (partie médiane) Le registre 4x mémorisé en partie médiane est le pointeur vers la table cible. Le premier registre de la table cible est le prochain registre après le pointeur c.–à–d. si le registre du pointeur est 400107, le premier registre de la table cible est 400108. NOTE : La table cible est segmentée en une série de blocs de registres, chacun possédant la même longueur que le bloc source. De ce fait, la taille de la table cible est un multiple de la longueur du bloc source, mais sa taille globale n'est pas particulièrement définie dans l'instruction. Si elle n'est pas contrôlée, la table cible peut occuper tous les registres 4x disponibles dans la configuration de l'automate. La valeur mémorisée dans le registre du pointeur indique l'endroit de la table cible où débutera la copie des données source. Cette valeur indique le numéro de bloc dans la table cible. 112 31007524 8/2010 BMDI : copie de bloc avec interruptions invalidées 31007524 8/2010 BMDI : copie de bloc avec interruptions invalidées 16 Introduction Ce chapitre décrit l'instruction BMDI. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Description sommaire 114 Représentation 115 113 BMDI : copie de bloc avec interruptions invalidées Description sommaire Description de la fonction L'instruction BMDI masque l'interruption, lance une copie de bloc (BLKM) et démasque ensuite les interruptions. 114 31007524 8/2010 BMDI : copie de bloc avec interruptions invalidées Représentation Symbole Représentation de l'instruction Description des paramètres Description des paramètres de l'instruction Paramètres Référence de Type de données mémoire d'état Signification Entrée haute 0x, 1x Aucun Activée = Masque l'interruption, lance une copie de bloc et démasque ensuite les interruptions table source (partie haute) 0x, 1x, 3x, 4x INT, UINT, WORD Table source dont le contenu sera copié lors de la copie de bloc table cible (partie médiane) 0x, 4x INT, UINT, WORD Table cible dans laquelle le contenu de la table source sera copié lors de la copie de bloc INT, UINT Nombre entier qui détermine la taille de la table, c'est-à-dire le nombre de registres des tables source et cible (elles ont la même longueur) Plage : 1 ... 100 Aucun Donne une image de l'entrée haute longueur de la table (partie basse) Sortie haute 31007524 8/2010 0x 115 BMDI : copie de bloc avec interruptions invalidées 116 31007524 8/2010 BROT : rotation de bits 31007524 8/2010 BROT : rotation de bits 17 Introduction Ce chapitre décrit l'instruction BROT. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 118 Représentation 119 Description des paramètres 120 117 BROT : rotation de bits Description sommaire Description de la fonction AVERTISSEMENT BOBINES INVALIDEES Avant d'utiliser les instructions BROT, vérifiez les bobines invalidées. L'instruction BROT écrasera toute bobine invalidée dans une matrice cible sans pour autant la valider. Ceci peut provoquer des dégâts si une bobine a été invalidée pour des travaux de réparation ou d'entretien puisque l'état de la bobine peut changer suite à l'instruction BROT. Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des dommages matériels. L'instruction BROT (rotation de bit) décale la configuration binaire de la matrice source et place ensuite la configuration binaire décalée dans la matrice cible. Par cycle, la configuration binaire se décale d'une position vers la gauche ou la droite. 118 31007524 8/2010 BROT : rotation de bits Représentation Symbole Représentation de l'instruction Description des paramètres Description des paramètres de l'instruction 31007524 8/2010 Paramètres Référence de mémoire d'état Type de données Signification Entrée haute 0x, 1x Aucun Activée = Décale la configuration binaire de la matrice source d'une unité Entrée médiane 0x, 1x Aucun Activée = Décale à gauche Désactivée = Décale à droite Entrée basse 0x, 1x Aucun Désactivée = Le bit sortant est chassé de la matrice cible Activée = Le bit sortant est bouclé au début de la matrice cible matrice source (partie haute) 0x, 1x, 3x, 4x ANY_BIT La première référence de la matrice source, c.-à-d. de la matrice dont la configuration binaire sera décalée matrice cible 0x, 4x (partie médiane) ANY_BIT La première référence de la matrice cible, c.à-d. de la matrice montrant la configuration binaire décalée longueur (partie basse) 0x INT, UINT Longueur de la matrice, comprise entre 1 et 100 Sortie haute 0x Aucun Donne une image de l'état de l'entrée haute Sortie médiane 0x Aucun Désactivée = Le bit sortant est 0 Activée = Le bit sortant est 1 119 BROT : rotation de bits Description des paramètres Longueur de la matrice (partie basse) Le nombre entier saisi en partie basse indique la longueur de la matrice c.–à–d. le nombre de registres ou de mots 16 bits de chacune des deux matrices. La matrice source et la matrice cible ont la même longueur. La longueur de la matrice peut varier entre 1 et 100 ; par exemple une longueur de matrice de 100 indique 1600 positions de bits. Résultat du décalage (sortie médiane) La sortie médiane indique l'état du bit sortant de la matrice source (le bit à l'extrémité gauche ou droite) après le décalage. 120 31007524 8/2010 CALL : activation d'une fonction DX 31007524 8/2010 CALL : activation d'une fonction DX immédiate ou différée 18 Introduction Ce chapitre décrit l'instruction CALL. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Description sommaire 122 Représentation 123 Représentation 126 121 CALL : activation d'une fonction DX Description sommaire Description de la fonction Une instruction CALL active une fonction DX immédiate ou différée à partir d'une bibliothèque de fonctions définie par des codes de fonction. Le coprocesseur copie les données et les codes de fonction dans sa mémoire locale, traite les données et recopie les résultats dans la mémoire de l'automate. Codes de fonction : 0-499 : fonctions DX utilisateur immédiates/différées z 500-9 999 : fonctions DX système immédiates/différées z Les deux MSB du registre haut correspondent au numéro de coprocesseur dans un système à plusieurs coprocesseurs. 122 31007524 8/2010 CALL : activation d'une fonction DX Représentation Présentation Cette section ne concerne que la fonction DX immédiate de l'instruction CALL. Symbole Représentation de l'instruction CALL : fonction DX immédiate 31007524 8/2010 123 CALL : activation d'une fonction DX Description des paramètres Description des paramètres de l'instruction CALL : fonction DX immédiate Paramètres Référence de mémoire d'état Type de données Signification Entrée haute 0x, 1x Aucun L'état actif déclenche l'instruction CALL. Entrée basse 0x, 1x Aucun L'entrée pour la partie basse est utilisée avec une fonction DX immédiate afin de poursuivre l'analyse quel que soit l'état de l'entrée haute. Le tableau ci-dessous intitulé Fonctions DX immédiates détaille les codes, leurs noms et leurs fonctions. valeur (partie haute) 0x, 3x INT, UINT La partie haute sert à spécifier le code de fonction à exécuter. Le code peut être entré de manière explicite sous la forme d'une constante ou d'une valeur dans un registre de sortie 4xxxx. Il existe deux plages de codes : z de 0 à 499 pour les DX pouvant être définis par l'utilisateur, z de 500 à 9 999 pour les DX système. Les deux types de codes s'appliquent aux fonctions immédiates et différées. Schneider Electric propose les deux types de codes. 124 registre 4x (partie médiane) INT, UINT Le registre 4xxxx de la partie médiane est le premier registre du bloc à être transmis au coprocesseur pour traitement. longueur (partie basse) INT, UINT Le nombre de registres du bloc est défini en partie basse. Sortie haute 0x Aucun Activée lorsque la fonction se termine avec succès. Sortie basse 0x Aucun La sortie de la partie basse s'active en cas de détection d'une erreur dans la fonction. 31007524 8/2010 CALL : activation d'une fonction DX Fonctions DX immédiates Le tableau ci-dessous répertorie les fonctions DX immédiates. 31007524 8/2010 Nom Code Fonction f_config 500 Obtient les données de configuration du coprocesseur f_2md_fl 501 Convertit un entier long utilisant deux registres en une virgule flottante 64 bits f_fl_2md 502 Convertit une virgule flottante en un entier long utilisant deux registres f_4md_fl 503 Convertit un entier long utilisant quatre registres en une virgule flottante f_fl_4md 504 Convertit une virgule flottante en un entier long utilisant quatre registres f_1md_fl 505 Convertit un entier long utilisant un registre en une virgule flottante f_fl_1m 506 Convertit une virgule flottante en un entier long utilisant un registre f_exp 507 Fonction exponentielle f_log 508 Logarithme népérien f_log10 509 Logarithme décimal f_pow 510 Elève à la puissance f_sqrt 511 Racine carrée f_cos 512 Cosinus f_sin 513 Sinus f_tan 514 Tangente f_atan 515 Arctangente x f_atan2 516 Arctangente y/x f_asin 517 Arcsinus f_acos 518 Arccosinus f_add 519 Addition f_sub 520 Soustraction f_mult 521 Multiplication f_div 522 Division f_deg_rad 523 Convertit les degrés en radians f_rad_deg 524 Convertit les radians en degrés f_swap 525 Permute les positions des octets dans un registre f_comp 526 Comparaison à virgule flottante f_dbwrite 527 Ecrit la base de données des registres du coprocesseur à partir de l'automate f_dbread 528 Lit la base de données des registres du coprocesseur à partir de l'automate 125 CALL : activation d'une fonction DX Représentation Présentation Cette section ne concerne que la fonction DX différée de l'instruction CALL. Symbole Représentation de l'instruction CALL : fonction DX différée Description des paramètres Description des paramètres de l'instruction CALL : fonction DX différée 126 Paramètres Référence de mémoire d'état Type de Signification données Entrée haute 0x, 1x Aucun L'état actif déclenche l'instruction CALL. Entrée médiane 0x, 1x Aucun L'instruction appelle une fonction DX différée lorsque l'entrée de la partie médiane est activée. Le tableau ci-dessous intitulé Fonctions DX différées détaille les codes, leur nom et leur fonction. 31007524 8/2010 CALL : activation d'une fonction DX Paramètres Référence de mémoire d'état Type de Signification données valeur (partie haute) 0x, 3x INT, UINT La partie haute sert à spécifier le code de fonction à exécuter. Le code peut être entré de manière explicite sous la forme d'une constante ou d'une valeur dans un registre de sortie 4xxxx. Il existe deux plages de codes : z de 0 à 499 pour les DX pouvant être définis par l'utilisateur z de 500 à 9 999 pour les DX système Les deux types de codes s'appliquent aux fonctions immédiates et différées. Schneider Electric propose les deux types de codes. registre 4x (partie médiane) INT, UINT Le registre 4xxxx de la partie médiane est le premier registre du bloc à être transmis au coprocesseur pour traitement. longueur (partie basse) INT, UINT Le nombre de registres du bloc est défini en partie basse. Sortie haute 0x Aucun Activée lorsque la fonction se termine avec succès. Sortie médiane 0x Aucun La sortie de la partie médiane, uniquement utilisée avec les fonctions DX différées, s'active pour indiquer que la fonction est en cours. Sortie basse 0x Aucun La sortie de la partie basse s'active en cas de détection d'une erreur dans la fonction. Fonctions DX différées Le tableau ci-dessous répertorie les fonctions DX différées. 31007524 8/2010 Nom Code Fonction f_config 500 Obtient les données de configuration du coprocesseur f_d_dbwr 501 Ecrit la base de données des registres du coprocesseur à partir de l'automate f_d_dbrd 502 Lit la base de données des registres du coprocesseur à partir de l'automate f_dgets 515 Exécute la fonction dgets() sur la ligne de commande f_dputs 516 Exécute la fonction dputs() sur la ligne de commande f_sprintf 518 Génère une chaîne de caractères f_sscanf 519 Interprète une chaîne de caractères f_egets 520 Fonction IEEE-488 gets() f_eputs 521 Fonction IEEE-488 puts() f_ectl 522 Fonction de contrôle d'erreur IEEE-488 127 CALL : activation d'une fonction DX 128 31007524 8/2010 CANT : interprétation des bobines, contacts, temporisateurs, compteurs et du bloc SUB 31007524 8/2010 CANT : interprétation des bobines, contacts, temporisateurs, compteurs et du bloc SUB 19 Introduction Ce chapitre décrit l'instruction CANT. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 130 Représentation 131 Description des paramètres 133 129 CANT : interprétation des bobines, contacts, temporisateurs, compteurs et du bloc SUB Description sommaire Description de la fonction Lors de l'initialisation d'un contact de déclenchement, ce bloc de fonctions chargeables DX analyse votre schéma à contacts pour extraire la colonne spécifique et l'ID du contact sur lequel une coupure de courant s'est produite. Le bloc CANT contient 20 registres. Un bloc MSTR est utilisé pour exporter des données des 20 registres de l'instruction CANT sur un PC exécutant le programme Action Monitor. Le bloc CANT est plus particulièrement utilisé pour interpréter des bobines, des contacts, des temporisateurs, des compteurs et le bloc SUB. Vous ne pouvez utiliser aucun autre type d'instruction de schémas à contacts dans un réseau. Tout autre type d'instruction produit des résultats erronés. Cependant, si vous devez utiliser l'une des autres instructions de schémas à contacts, vous pouvez les placer dans un réseau distinct relié à une bobine référencée sur le réseau contenant le bloc CANT. NOTE : Seuls les automates logiques Quantum et 984 24 bits prennent en charge le bloc de fonctions chargeables DX. Les automates 16 bits ne sont pas compatibles avec ce bloc spécifique. 130 31007524 8/2010 CANT : interprétation des bobines, contacts, temporisateurs, comp- Représentation Symbole Représentation de l'instruction 31007524 8/2010 131 CANT : interprétation des bobines, contacts, temporisateurs, compteurs et du bloc SUB Description des paramètres Description des paramètres de l'instruction Paramètres Référence de mémoire d'état Type de données Signification Entrée haute 0x, 1x Aucun Contact d'action 3 Reportez-vous à la Remarque ci-dessous. Entrée médiane 0x, 1x Aucun Contact d'action 2 Reportez-vous à la Remarque ci-dessous. Entrée basse 0x, 1x Aucun Contact d'action 1 Reportez-vous à la Remarque ci-dessous. N° de registre partie haute 4x INT, UINT Chaque bloc CANT contient un bloc de 10 registres de configuration. Les données internes sont ainsi automatiquement affectées à ces 10 registres. registre de données partie médiane 4x INT, UINT Cette partie constitue le point de départ des registres de données de sortie 4x. Pour plus d'informations, reportez-vous à la section Table de registres de données de sortie (partie médiane), page 133. INT, UINT Valeur du retard avec incréments de 10 ms La valeur 1 est affectée à l'état repos. retard partie basse NOTE : Lorsqu'une des sorties ci-dessus est activée, le bloc fonction CANT commence à exécuter le programme. La partie basse indique un retard par incréments de 10 ms que le bloc utilise pour retarder le début du programme d'exécution. 132 31007524 8/2010 CANT : interprétation des bobines, contacts, temporisateurs, comp- Description des paramètres Table de registres de données de sortie (partie médiane) Registre de données Description (Objectif) de sortie 31007524 8/2010 4x Contient l'adresse du numéro de bobine "CANT in use flag" La bobine doit être programmée de manière que le COURANT N'ARRIVE PAS DE LA GAUCHE dans le dernier réseau de votre schéma à contacts 4x + 01 Numéro de version CANT au format hexadécimal (par exemple, 0105 pour v1.05) 4x + 02 Octet haut = Drapeaux de fonctionnement en interne Octet bas = MB+ adresse d'un automate 4x + 03 Numéro de bobine de sortie (variable qui dépend de l'état du bloc) 4x + 04 Id du contact de déclenchement ou de la bobine Bit 15 → 0 : s'il s'agit d'une bobine ; 1 : s'il s'agit d'un contact Bit 14-00 → numéro de la bobine ou du contact (basé 1) 4x + 05 12 bits haut = numéro du réseau où la logique connaît une défaillance (basé 1) 4 bits bas = numéro de colonne où la logique connaît une défaillance (basé 1) 4x + 06 Echelon n° 1 : Octet haut = état de la partie Octet bas = type de partie (code opérande de la base de données de partie) 4x + 07 Echelon n° 1 : numéro de contact (basé 1) 4x + 08 Echelon n° 2 : fait référence à 4x + 06 4x + 09 Echelon n° 2 : fait référence à 4x + 07 4x + 10 Echelon n° 3 : fait référence à 4x + 06 4x + 11 Echelon n° 3 : fait référence à 4x + 07 4x + 12 Echelon n° 4 : fait référence à 4x + 06 4x + 13 Echelon n° 4 : fait référence à 4x + 07 4x + 14 Echelon n° 5 : fait référence à 4x + 06 4x + 15 Echelon n° 5 : fait référence à 4x + 07 4x + 16 Echelon n° 6 : fait référence à 4x + 06 4x + 17 Echelon n° 6 : fait référence à 4x + 07 4x + 18 Echelon n° 7 : fait référence à 4x + 06 4x + 19 Echelon n° 7 : fait référence à 4x + 07 133 CANT : interprétation des bobines, contacts, temporisateurs, compteurs et du bloc SUB Programmation Chaque réseau ne contient qu'une BOBINE et qu'un seul bloc CANT, ceux-ci devant être placés dans la Colonne 10, ligne 5. La colonne 9 de l'échelon BAS contient la puissance absorbée des déclencheurs (contacts d'actions) vers le bloc CANT, lequel va fournir un espace plus important pour la programmation de schémas à contacts. NOTE : Ce n'est pas le haut du bloc comme c'est généralement le cas avec les blocs DX. Chaque position de ligne disponible (5, 6 ou 7) peut contenir jusqu'à 3 déclencheurs qui doivent être de type transitionnel [P] ou [N]. Le numéro de la partie du bloc CANT est 22 par défaut (valeur hexadécimale) et ne peut pas être modifié. Configuration des parties du schéma à contacts 134 31007524 8/2010 CANT : interprétation des bobines, contacts, temporisateurs, comp- Configuration de la commande MSTR : écriture de données Le rôle du bloc MSTR est d'envoyer les 20 registres CANT 4x vers un programme Action Monitor basé sur un PC. Cette transmission de registres est effectuée via Modbus Plus ou Ethernet TCP/IP Modbus. Exemple : Registres de contrôle des statistiques MSTR Registre Valeur Description 400121 1 Fonction d'écriture de données 400122 ? Registre d'erreurs MSTR 400123 20 Nombre de registres de données à envoyer 400124 40001 Début des registres de données 400125 22 Adresse MB+ cible 400126 1 Routage MB+ 400127 0 Routage MB+ 400128 0 Routage MB+ 400129 0 Routage MB+ NOTE : Pour transmettre des données à plusieurs PC exécutant Action Monitor, il est nécessaire de programmer un bloc MSTR pour chaque adresse (PC) de réception. Configuration de MSTR 31007524 8/2010 135 CANT : interprétation des bobines, contacts, temporisateurs, compteurs et du bloc SUB 136 31007524 8/2010 CCPF 31007524 8/2010 CCPF : configuration des profils de cames avec instruments de variables 20 Introduction Ce chapitre décrit l'instruction CCPF. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Description sommaire 138 Représentation 139 137 CCPF Description sommaire Description de la fonction Le bloc fonction CCPF permet de configurer un profil de came avec des incréments maître fixes. Un profil de came indique la position d'un axe suiveur pour la position d'un axe maître donnée. Le profil de came correspond à un tableau des coordonnées des positions maître et suiveur. Les points de position qui ne sont pas répertoriés dans le tableau sont obtenus par interpolation des points donnés. Les interpolations linéaires et cubiques sont acceptées. Type de profil de came Le type de profil de came est utilisé pour exécuter des cames électroniques dans le dispositif de commande de mouvement. Les cames électroniques permettent de simplifier la programmation des mouvements complexes. Les cames peuvent être utilisées dans le cadre de systèmes à bobinage, de cisailles volantes, de machines de thermoformage, de presses industrielles et dans de nombreuses applications à commandes complexes. NOTE : Un bloc de configuration de profil de came peut être exécuté à nouveau afin de modifier le profil. Une erreur CMD_NOT_ALLOWED sera générée si un groupe suiveur utilise déjà le profil de came et qu'il est activé. Informations connexes Pour plus d'informations sur l'utilisation des instructions chargeables de mouvement, consultez le fichier relatif aux instructions chargeables, MMFStart pour ProWORX 32, situé dans le dossier Programs\Lib\Quantum du CD-ROM d'installation de ProWORX 32. 138 31007524 8/2010 CCPF Représentation Symbole Le diagramme suivant représente l'instruction. Description des paramètres Le tableau suivant décrit les paramètres de l'instruction : 31007524 8/2010 Paramètres Référence Type de de mémoire données d'état Signification Entrée haute 0x Aucun L'état actif déclenche la fonction de configuration. Lorsque cette entrée est désactivée, la fonction est réinitialisée et peut être de nouveau exécutée. Partie haute 4x INT, UINT Adresse de la table de communication du registre MMFSTART 200. Elle correspond normalement à 401001. Cette adresse peut être configurée en modifiant le fichier MMFSTART.CFG sur le contrôleur QUANTUM SERCOS. Partie médiane 4x INT, UINT Ce registre pointe vers un bloc de registres définissant tous les arguments et renvoie un appel de sous-programme générique. Les deux derniers registres servent au contrôle d'état. 139 CCPF Paramètres Référence Type de de mémoire données d'état Signification Partie basse 4x INT L'entier saisi dans la partie basse indique la longueur de la table. Dans le cas présent, le nombre de registres de la table doit être égal à 18. Sortie haute 0x Aucun Activée lorsque l'appel de configuration de la came a été réalisé sans erreur. Sortie médiane 0x Aucun Activée lorsque l'appel de configuration des cames a été réalisé et qu'un code d'erreur a été généré dans le registre 4xxx15. Sortie basse 0x Aucun Activée lorsque la longueur du registre n'est pas égale à 18. Registres Le tableau suivant présente les registres. Registre 140 Type de données Description 4xxxxx Entier court ID du profil de came à configurer. 4xxxx1 Entier court Nombre de points de la table de came. 4xxxx2 Entier non signé Type d'interpolation : Linéaire = 1 ou cubique = 2 4xxxx4 Entier non signé Unité de position du maître (Version, Deg, etc.) 4xxxx6 Nb à virgule flottante Première position maître 4xxxx8 Nb à virgule flottante Incrément de position maître fixe 4xxx10 Entier non signé Unité de position du suiveur (Pouce, Version, etc.) 4xxx12 Nb à virgule flottante Pointeur vers le premier registre de la table de came du suiveur 4xxx14 Bloc registre Pointeur vers l'adresse du bloc de configuration de la came 4xxx15 Entier court Code d'erreur généré par le bloc de configuration 4xxx16 Entier court Numéro de l'état de fonctionnement courant 4xxx17 Entier court Nombre d'entrées d'état actuel 31007524 8/2010 CCPV 31007524 8/2010 CCPV : configuration des profils de cames avec incréments de variables 21 Introduction Ce chapitre décrit l'instruction CCPV. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Description sommaire 142 Représentation 143 141 CCPV Description sommaire Description de la fonction Le bloc fonction CCPV permet de configurer un profil de came avec des incréments maître variables. Un profil de came indique la position d'un axe suiveur pour la position d'un axe maître donnée. Le profil de came correspond à un tableau des coordonnées des positions maître et suiveur. Les points de position qui ne sont pas répertoriés dans le tableau sont obtenus par interpolation des points donnés. Les interpolations linéaires et cubiques sont acceptées. Pour plus d'informations sur le type de profil de came, reportez-vous à Type de profil de came, page 138. Informations connexes Pour plus d'informations sur l'utilisation des instructions chargeables de mouvement, consultez le fichier relatif aux instructions chargeables, MMFStart pour ProWORX 32, situé dans le dossier Programs\Lib\Quantum du CD-ROM d'installation de ProWORX 32. 142 31007524 8/2010 CCPV Représentation Symbole Le diagramme suivant représente l'instruction CCPV : Description des paramètres Le tableau suivant décrit les paramètres de l'instruction : 31007524 8/2010 Paramètres Référence Type de de mémoire données d'état Signification Entrée haute 0x Aucun L'état actif déclenche la fonction de configuration. Lorsque cette entrée est désactivée, la fonction est réinitialisée et peut être de nouveau exécutée. Partie haute 4x INT, UINT Adresse de la table de communication du registre MMFSTART 200. Elle correspond normalement à 401001. Cette adresse peut être configurée en modifiant le fichier MMFSTART.CFG sur le contrôleur QUANTUM SERCOS. Partie médiane 4x INT, UINT Ce registre pointe vers un bloc de registres définissant tous les arguments et renvoie un appel de sous-programme générique. Les deux derniers registres servent au contrôle d'état. 143 CCPV Paramètres Référence Type de de mémoire données d'état Signification Partie basse 4x INT L'entier saisi dans la partie basse indique la longueur de la table. Dans le cas présent, le nombre de registres de la table doit être égal à 16. Sortie haute 0x Aucun Activée lorsque l'appel de configuration de la came a été réalisé sans erreur. Sortie médiane 0x Aucun Activée lorsque l'appel de configuration de la came a été réalisé et qu'un code d'erreur est généré dans le registre 4xxx13. Sortie basse Aucun Activée lorsque la longueur du registre n'est pas égale à 16. 0x Registres Le tableau suivant décrit les registres de l'instruction : 144 Registre Type de données Description 4xxxxx Entier court ID du profil de came à configurer. 4xxxx1 Entier court Nombre de points de la table de came. 4xxxx2 Entier non signé Type d'interpolation : Linéaire = 1 ou cubique = 2 4xxxx4 Entier non signé Unité de position du maître (Version, Deg, etc.) 4xxxx6 Nb à virgule flottante Pointeur vers le premier registre de la table de came maître 4xxxx8 Entier non signé Unité de position du suiveur (Pouce, Version, etc.) 4xxx10 Nb à virgule flottante Pointeur vers le premier registre de la table de came du suiveur 4xxx12 Bloc registre Pointeur vers le premier registre du bloc de configuration de la came 4xxx13 Entier court Code d'erreur généré par le bloc de configuration 4xxx14 Entier court Numéro de l'état de fonctionnement courant 4xxx15 Entier court Nombre d'entrées d'état actuel 31007524 8/2010 CFGC 31007524 8/2010 CFGC : configuration d'un groupe coordonné 22 Introduction Ce chapitre décrit l'instruction CFGC. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Description sommaire 146 Représentation 147 145 CFGC Description sommaire Description de la fonction Le bloc fonction CFGC permet de configurer un groupe coordonné. Chaque objet de l'axe du mouvement dispose d'un ensemble de paramètres de mouvement devant être configurés avant toute utilisation de l'objet. La fonction de configuration fournit la valeur par défaut de ces paramètres. Les valeurs par défaut sont placées dans un bloc de registres de maintien dans un ordre bien spécifique. Informations connexes Pour plus d'informations sur l'utilisation des instructions chargeables de mouvement, consultez le fichier relatif aux instructions chargeables, MMFStart pour ProWORX 32, situé dans le dossier Programs\Lib\Quantum du CD-ROM d'installation de ProWORX 32. 146 31007524 8/2010 CFGC Représentation Symbole Le diagramme suivant représente l'instruction CFGC : Description des paramètres Le tableau suivant décrit les paramètres de l'instruction : 31007524 8/2010 Paramètres Référence Type de Signification de mémoire données d'état Entrée haute 0x Aucun L'état actif déclenche la fonction de configuration. Lorsque cette entrée est désactivée, la fonction est réinitialisée et peut être de nouveau exécutée. Partie haute 4x INT, UINT Adresse de la table de communication du registre MMFSTART 200. Elle correspond normalement à 401001. Cette adresse peut être configurée en modifiant le fichier MMFSTART.CFG sur le contrôleur QUANTUM SERCOS. Partie médiane 4x INT, UINT Ce registre pointe vers un bloc de registres définissant tous les arguments et renvoie un appel de sous-programme générique. Les deux derniers registres servent au contrôle d'état. 147 CFGC Paramètres Référence Type de Signification de mémoire données d'état Partie basse 4x INT L'entier saisi dans la partie basse indique la longueur de la table. Dans le cas présent, le nombre de registres de la table doit être égal à 13. Sortie haute 0x Aucun Activée lorsque l'appel de configuration de la came a été réalisé sans erreur. Sortie médiane 0x Aucun Activée lorsque l'appel de configuration de la came a été réalisé et qu'un code d'erreur est généré dans le registre 4xxx10. Sortie basse Aucun Activée lorsque la longueur du registre n'est pas égale à 13. 0x Registres Le tableau suivant décrit les registres de l'instruction : 148 Registre Type de données Description 4xxxxx Entier court ID de l'axe du groupe coordonné à configurer 4xxxx1 Entier court ID de la partie de l'axe à inclure dans le groupe 4xxxx2 Entier court ID de la partie de l'axe à inclure dans le groupe 4xxxx3 Entier court ID de la partie de l'axe à inclure dans le groupe 4xxxx4 Entier court ID de la partie de l'axe à inclure dans le groupe 4xxxx5 Entier court ID de la partie de l'axe à inclure dans le groupe 4xxxx6 Entier court ID de la partie de l'axe à inclure dans le groupe 4xxxx7 Entier court ID de la partie de l'axe à inclure dans le groupe 4xxxx8 Entier court ID de la partie de l'axe à inclure dans le groupe 4xxxx9 Bloc registre Pointeur vers l'adresse du registre du bloc de configuration 4xxx10 Entier court Code d'erreur généré par le bloc de configuration 4xxx11 Entier court Numéro de l'état de fonctionnement courant 4xxx12 Entier court Nombre d'entrées d'état actuel 31007524 8/2010 CFGF 31007524 8/2010 CFGF : configuration du groupe suiveur 23 Introduction Ce chapitre décrit l'instruction CFGF. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Description sommaire 150 Représentation 151 149 CFGF Description sommaire Description de la fonction Le bloc fonction CFGF permet de configurer un groupe suiveur. Chaque objet de l'axe du mouvement dispose d'un ensemble de paramètres de mouvement devant être configurés avant toute utilisation de l'objet. La fonction de configuration fournit la valeur par défaut de ces paramètres. Les valeurs par défaut sont placées dans un bloc des registres de maintien dans un ordre bien spécifique. Informations connexes Pour plus d'informations sur l'utilisation des instructions chargeables de mouvement, consultez le fichier relatif aux instructions chargeables MMFStart pour ProWORX 32 situé dans le dossier Programs\Lib\Quantum du CD-ROM d'installation de ProWORX 32. 150 31007524 8/2010 CFGF Représentation Symbole Le diagramme suivant représente l'instruction CFGF : Description des paramètres Le tableau suivant décrit les paramètres de l'instruction : 31007524 8/2010 Paramètres Référence Type de Signification de mémoire donnée d'état s Entrée haute 0x Aucun L'état actif déclenche la fonction de configuration. Lorsque cette entrée est désactivée, la fonction est réinitialisée et peut être de nouveau exécutée. Partie haute 4x INT, UINT Adresse de la table de communication du registre MMFSTART 200. Elle correspond normalement à 401001. Cette adresse peut être configurée en modifiant le fichier MMFSTART.CFG sur le contrôleur QUANTUM SERCOS. Partie médiane 4x INT, UINT Ce registre pointe vers un bloc de registres définissant tous les arguments de la configuration. Les deux derniers registres servent au contrôle d'état. Partie basse 4x INT L'entier saisi dans la partie basse indique la longueur de la table. Dans le cas présent, le nombre de registres de la table doit être égal à 14. 151 CFGF Paramètres Référence Type de Signification de mémoire donnée d'état s Sortie haute 0x Aucun Activée lorsque l'appel de configuration de la came a été réalisé sans erreur. Sortie médiane 0x Aucun Activée lorsque l'appel du sous-programme a été réalisé et qu'un code d'erreur est généré dans le registre 4xxx11. Sortie basse 4x Aucun Activée lorsque la longueur du registre n'est pas égale à 14. Registres Le tableau suivant décrit les registres de l'instruction : 152 Registre Type de données Description 4xxxxx Entier court ID de l'axe du groupe suiveur à configurer. 4xxxx1 Entier court ID de l'axe maître du groupe suiveur 4xxxx2 Entier court ID de la partie de l'axe à inclure dans le groupe 4xxxx3 Entier court ID de la partie de l'axe à inclure dans le groupe 4xxxx4 Entier court ID de la partie de l'axe à inclure dans le groupe 4xxxx5 Entier court ID de la partie de l'axe à inclure dans le groupe 4xxxx6 Entier court ID de la partie de l'axe à inclure dans le groupe 4xxxx7 Entier court ID de la partie de l'axe à inclure dans le groupe 4xxxx8 Entier court ID de la partie de l'axe à inclure dans le groupe 4xxxx9 Entier court ID de la partie de l'axe à inclure dans le groupe 4xxx10 Bloc registre Pointeur vers l'adresse du registre du bloc de configuration 4xxx11 Entier court Code d'erreur généré par le bloc de configuration 4xxx12 Entier court Numéro de l'état de fonctionnement courant 4xxx13 Entier court Nombre d'entrées d'état actuel 31007524 8/2010 CFGI 31007524 8/2010 CFGI : configuration de l'axe imaginaire 24 Introduction Ce chapitre décrit l'instruction CFGI. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Description sommaire 154 Représentation 155 153 CFGI Description sommaire Description de la fonction Le bloc fonction CFGI permet de configurer un axe imaginaire. Chaque objet de l'axe du mouvement dispose d'un ensemble de paramètres de mouvement devant être configurés avant toute utilisation de l'objet. La fonction de configuration fournit la valeur par défaut de ces paramètres. Les valeurs par défaut sont placées dans un bloc des registres de maintien dans un ordre bien spécifique. Informations connexes Pour plus d'informations sur l'utilisation des instructions chargeables de mouvement, consultez le fichier relatif aux instructions chargeables, MMFStart pour ProWORX 32, situé dans le dossier Programs\Lib\Quantum du CD-ROM d'installation de ProWORX 32. 154 31007524 8/2010 CFGI Représentation Symbole Le diagramme suivant représente l'instruction CFGI : Description des paramètres Le tableau suivant décrit les paramètres de l'instruction : 31007524 8/2010 Paramètres Référence Type de Signification de mémoire données d'état Entrée haute 0x Aucun L'état actif déclenche la fonction de configuration. Lorsque cette entrée est désactivée, la fonction est réinitialisée et peut être de nouveau exécutée. Partie haute 4x INT, UINT Adresse de la table de communication du registre MMFSTART 200. Elle correspond normalement à 401001. Cette adresse peut être configurée en modifiant le fichier MMFSTART.CFG sur le contrôleur QUANTUM SERCOS. Partie médiane 4x INT, UINT Ce registre pointe vers un bloc de registres définissant tous les arguments de la configuration. Les deux derniers registres servent au contrôle d'état. Partie basse INT L'entier saisi dans la partie basse indique la longueur de la table. Dans le cas présent, le nombre de registres de la table doit être égal à 20. 4x 155 CFGI Paramètres Référence Type de Signification de mémoire données d'état Sortie haute 0x Aucun Activée lorsque l'appel de configuration de la came a été réalisé sans erreur. Sortie médiane 0x Aucun Activée lorsque l'appel du sous-programme a été réalisé et qu'un code d'erreur est généré dans le registre 4xxx17. Sortie basse Aucun Activée lorsque la longueur du registre n'est pas égale à 20. 0x Registres Le tableau suivant décrit les registres de l'instruction : Registre Type de données Description 4xxxxx Entier court ID de l'axe imaginaire à configurer. 4xxxx1 Entier non signé Unité de vitesse pour l'axe. 4xxxx2 Nb à virgule flottante Numérateur du rapport de l'arbre. 4xxxx4 Nb à virgule flottante Dénominateur du rapport de l'arbre1 4xxxx6 Nb à virgule flottante Limite de position positive (facultatif). 4xxxx8 Nb à virgule flottante Limite de position négative (facultatif). 4xxx10 Nb à virgule flottante Limite de vitesse (facultatif). 4xxx12 Nb à virgule flottante Accélération par défaut (facultatif). 4xxx14 Nb à virgule flottante Décélération par défaut (facultatif). 4xxx16 Bloc registre Pointeur vers le registre du bloc de configuration de l'axe 4xxx17 Entier court Code d'erreur généré par le bloc de configuration 4xxx18 Entier court Numéro de l'état de fonctionnement courant 4xxx19 Entier court Nombre d'entrées d'état actuel 1 Les unités associées à cette valeur représentent les tours effectués par le dispositif de retour de position. Le dispositif de retour de position est directement couplé à l'arbre du moteur. Ce paramètre permet donc de spécifier le nombre de tours moteur requis pour effectuer le trajet physique défini par le numérateur. 156 31007524 8/2010 CFGR 31007524 8/2010 CFGR : configuration de l'axe distant 25 Introduction Ce chapitre décrit l'instruction CFGR. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Description sommaire 158 Représentation 159 157 CFGR Description sommaire Description de la fonction Le bloc fonction CFGR permet de configurer un axe distant. Chaque objet de l'axe du mouvement dispose d'un ensemble de paramètres de mouvement devant être configurés avant toute utilisation de l'objet. La fonction de configuration fournit la valeur par défaut de ces paramètres. Les valeurs par défaut sont placées dans un bloc des registres de maintien dans un ordre bien spécifique. Informations connexes Pour plus d'informations sur l'utilisation des instructions chargeables de mouvement, consultez le fichier relatif aux instructions chargeables, MMFStart pour ProWORX 32, situé dans le dossier Programs\Lib\Quantum du CD-ROM d'installation de ProWORX 32. 158 31007524 8/2010 CFGR Représentation Symbole Le diagramme suivant représente l'instruction CFGR : Description des paramètres Le tableau suivant décrit les paramètres de l'instruction : 31007524 8/2010 Paramètres Référence Type de Signification de mémoire donnée s d'état Entrée haute 0x Aucun L'état actif déclenche la fonction de configuration. Lorsque cette entrée est désactivée, la fonction est réinitialisée et peut être de nouveau exécutée. Partie haute 4x INT, UINT Adresse de la table de communication du registre MMFSTART 200. Elle correspond normalement à 401001. Cette adresse peut être configurée en modifiant le fichier MMFSTART.CFG sur le contrôleur QUANTUM SERCOS. Partie médiane 4x INT, UINT Ce registre pointe vers un bloc de registres définissant tous les arguments de la configuration. Les deux derniers registres servent au contrôle d'état. 159 CFGR Paramètres Référence Type de Signification de mémoire donnée d'état s Partie basse 4x INT L'entier saisi dans la partie basse indique la longueur de la table. Dans le cas présent, le nombre de registres de la table doit être égal à 13. Sortie haute 0x Aucun Activée lorsque l'appel de configuration de la came a été réalisé sans erreur. Sortie médiane 0x Aucun Activée lorsque l'appel de sous-programme a été réalisé et qu'un code d'erreur est généré dans le registre 4xxx10. Sortie basse 4x Aucun Activée lorsque la longueur du registre n'est pas égale à 13. Registres Le tableau suivant décrit les registres de l'instruction : Registre 160 Type de données Description 4xxxxx Entier court ID de l'axe distant à configurer 4xxxx1 Entier court Unité de vitesse pour l'axe 4xxxx2 Entier court Nombre d'unités de position 4xxxx4 Entier court Nombre de tours moteur 4xxxx6 Entier court ID de l'axe SERCOS basé sur le dispositif de retour de position secondaire 4xxxx7 Entier court Numéro d'identification SERCOS du dispositif de retour de position secondaire. Le numéro par défaut est 53. 4xxxx9 Entier court Pointeur vers le registre du bloc de configuration de l'axe 4xxx10 Entier court Code d'erreur généré par le bloc de configuration 4xxx11 Entier court Numéro de l'état de fonctionnement courant 4xxx12 Entier court Nombre d'entrées d'état actuel 31007524 8/2010 CFGS 31007524 8/2010 CFGS : configuration de l'axe SERCOS 26 Introduction Ce chapitre décrit l'instruction CFGS. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Description sommaire 162 Représentation 163 161 CFGS Description sommaire Description de la fonction Le bloc fonction CFGS permet de configurer un axe SERCOS. Chaque objet de l'axe du mouvement dispose d'un ensemble de paramètres de mouvement devant être configurés avant toute utilisation de l'objet. La fonction de configuration fournit la valeur par défaut de ces paramètres. Les valeurs par défaut sont placées dans un bloc des registres de maintien dans un ordre bien spécifique. Informations connexes Pour plus d'informations sur l'utilisation des instructions chargeables de mouvement, consultez le fichier relatif aux instructions chargeables, MMFStart pour ProWORX 32, situé dans le dossier Programs\Lib\Quantum du CD-ROM d'installation de ProWORX 32. 162 31007524 8/2010 CFGS Représentation Symbole Le diagramme suivant représente l'instruction CFGS : Description des paramètres Le tableau suivant décrit les paramètres de l'instruction : Paramètres Référence Type de Signification de mémoire données d'état Entrée haute 0x Aucun L'état actif déclenche la fonction de configuration. Lorsque cette entrée est désactivée, la fonction est réinitialisée et peut être de nouveau exécutée. Partie haute 4x INT, UINT Adresse de la table de communication du registre MMFSTART 200. Elle correspond normalement à 401001. Cette adresse peut être configurée en modifiant le fichier MMFSTART.CFG sur le contrôleur QUANTUM SERCOS. Partie médiane INT, UINT Ce registre pointe vers un bloc de registres définissant tous les arguments de la configuration. Les deux derniers registres servent au contrôle d'état. INT L'entier saisi dans la partie basse indique la longueur de la table. Dans le cas présent, le nombre de registres de la table doit être égal à 20. 4x Partie basse 4x 31007524 8/2010 163 CFGS Paramètres Référence Type de Signification de mémoire données d'état Sortie haute 0x Aucun Activée lorsque l'appel de configuration de la came a été réalisé sans erreur. Sortie médiane 0x Aucun Activée lorsque l'appel de sous-programme a été réalisé et qu'un code d'erreur est généré dans le registre 4xxx17. Sortie basse 0x Aucun Activée lorsque la longueur du registre n'est pas égale à 20. Registres Le tableau suivant décrit les registres de l'instruction : Registre Type de données Description 4xxxxx Entier court ID de l'axe SERCOS à configurer. 4xxxx1 Entier non signé Unité de vitesse pour l'axe. 4xxxx2 Nb à virgule flottante Numérateur du rapport de l'arbre. 4xxxx4 Nb à virgule flottante Dénominateur du rapport de l'arbre1 4xxxx6 Nb à virgule flottante Limite de position positive (facultatif). 4xxxx8 Nb à virgule flottante Limite de position négative (facultatif). 4xxx10 Nb à virgule flottante Limite de vitesse (facultatif). 4xxx12 Nb à virgule flottante Accélération par défaut (facultatif). 4xxx14 Nb à virgule flottante Décélération par défaut (facultatif). 4xxx16 Bloc registre Pointeur vers le registre du bloc de configuration de l'axe 4xxx17 Entier court Code d'erreur généré par le bloc de configuration 4xxx18 Entier court Numéro de l'état de fonctionnement courant 4xxx19 Entier court Nombre d'entrées d'état actuel 1 Les unités associées à cette valeur représentent les tours effectués par le dispositif de retour de position. Le dispositif de retour de position est directement couplé à l'arbre du moteur. Ce paramètre permet donc de spécifier le nombre de tours moteur requis pour effectuer le trajet physique défini par le numérateur. 164 31007524 8/2010 CHS : configuration de la redondance d'UC 31007524 8/2010 CHS : configuration de la redondance d'UC 27 Introduction Ce chapitre décrit l'instruction CHS. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 166 Représentation 167 Description des paramètres 169 165 CHS : configuration de la redondance d'UC Description sommaire Description de la fonction NOTE : Cette instruction n'est disponible que si vous avez décompacté et installé les instructions chargeables DX. Vous trouverez de plus amples informations dans le chapitre "Installation des instructions chargeables DX, page 79." La logique de l'instruction chargeable CHS est le moteur entraînant la fonction redondance d'UC sur l'automate Quantum. Contrairement à l'instruction HSBY, l'utilisation de l'instruction CHS du programme en schéma à contacts est facultative. Cependant, le logiciel d'instruction chargeable doit être installé sur l'API Quantum de sorte qu'un système de redondance soit mis en place. 166 31007524 8/2010 CHS : configuration de la redondance d'UC Représentation Symbole Représentation de l'instruction 31007524 8/2010 167 CHS : configuration de la redondance d'UC Description des paramètres Description des paramètres de l'instruction Paramètres Référence de Type de mémoire données d'état Signification Entrée haute 0x, 1x Exécute la redondance d'UC (sans condition) Entrée médiane 0x, 1x Aucun Activée = Valide le registre de commande Entrée basse 0x, 1x Aucun Activée = Valide la zone de non-transfert Désactivée = La zone de non-transfert ne sera pas utilisée et le registre d'état de la redondance d'UC n'existera pas registre de commande (partie haute) 4x INT, UINT, WORD Registre de commande de redondance d'UC Pour plus d'informations, reportez-vous à la section Description des paramètres : registre de commande (partie haute), page 170. zone de nontransfert (partie médiane) 4x INT, UINT, WORD Le premier registre de la zone de nontransfert en mémoire d'état Pour plus d'informations, reportez-vous à la section Description des paramètres : zone de non-transfert (partie médiane), page 171. INT, UINT Nombre de registres de la zone de nontransfert de la redondance d'UC en mémoire d'état, compris entre 4 et 8 000 longueur (partie basse) 168 Aucun Sortie haute 0x Aucun Donne une image de l'entrée haute Sortie médiane 0x Aucun Activée = Le système détecte une erreur d'interface Sortie basse 0x Aucun Activée = La configuration du système est définie par l'extension de configuration 31007524 8/2010 CHS : configuration de la redondance d'UC Description des paramètres Configuration du système de redondance d'UC via l'instruction CHS Programmez l'instruction CHS dans le réseau 1, segment 1 de votre programme en schéma à contacts et connectez sans condition l'entrée haute de la barre d'alimentation via une liaison horizontale (l'instruction HSBY est programmée dans un système de redondance d'UC 984). Cette méthode est particulièrement utile si vous transférez le code de redondance d'UC d'une application 984 vers une application Quantum. La structure de l'instruction CHS est quasiment identique à celle de l'instruction HSBY. Vous retirez simplement l'instruction HSBY de la logique 984LL et vous la remplacez par une instruction CHS dans la logique Quantum. Si vous utilisez l'instruction CHS dans la logique de schéma à contacts, la seule différence entre cette instruction et l'instruction HSBY se situe au niveau de la sortie basse. Cette sortie indique si la méthode 2 a été ou non utilisée. Si vous avez utilisé les écrans d'extension de configuration de la redondance d'UC pour configurer cette redondance, à la mise en route du système, les paramètres de configuration des écrans auront priorité sur tous les autres paramètres définis par l'instruction CHS. Pour obtenir une description détaillée sur les questions relatives aux fonctions d'extension de configuration d'un système de redondance d'UC Quantum, reportezvous au Guide de planification et d'installation de la redondance Modicon Quantum. Description des paramètres : exécution de la redondance d'UC (entrée haute) AVERTISSEMENT DYSFONCTIONNEMENT DU SYSTEME DE REDONDANCE D'UC Ne pas activer ou désactiver la zone de non-transfert pendant que le système de redondance d'UC est en marche. Bien que cela soit permis, nous déconseillons fortement cette pratique puisque cela peut provoquer des dysfonctionnements au niveau du système de redondance d'UC. Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des dommages matériels. Lorsque vous ajoutez l'instruction CHS au schéma à contacts pour contrôler les paramètres configuration de la redondance d'UC, son entrée haute doit être connectée directement à la barre d'alimentation via une liaison horizontale. Aucune logique de contrôle, telle que des contacts, ne doit être placée entre la barre et l'entrée de la partie haute. 31007524 8/2010 169 CHS : configuration de la redondance d'UC Description des paramètres : registre de commande (partie haute) Le registre 4x mémorisé en partie haute est le registre de commande de redondance d'UC. Dans ce registre, 8 bits sont utilisés pour configurer et contrôler les paramètres du système de redondance d'UC : Utilisation du mot de commande : Bit Fonction 1-5 Non utilisé 6 0 = basculer l'adresse du port 3 Modbus au moment de la commutation 1 = ne pas basculer 7 0 = basculer l'adresse du port 2 Modbus au moment de la commutation 1 = ne pas basculer 8 0 = basculer l'adresse du port 1 Modbus au moment de la commutation 1 = ne pas basculer 9 - 11 Non utilisé 12 0 = autoriser la mise à niveau de l'exécutable après l'arrêt de l'application 1 = autoriser la mise à niveau de l'exécutable sans arrêter l'application 13 0 = forcer l'UC redondante hors ligne au cas où une différence de logique apparaît 1 = ne pas forcer l'UC redondante hors ligne au cas où une différence de logique apparaît 14 0 = l'automate B est en mode HORS LIGNE 1 = l'automate B est en mode RUN 15 0 = l'automate A est en mode HORS LIGNE 1 = l'automate A est en mode RUN 16 0 = invalider la priorité de l'interrupteur à clé 1 = autoriser la priorité de l'interrupteur à clé NOTE : Le registre de commande de redondance d'UC doit être à l'extérieur de la zone de non-transfert de la mémoire d'état. 170 31007524 8/2010 CHS : configuration de la redondance d'UC Description des paramètres : zone de non-transfert (partie médiane) Le registre 4x mémorisé en partie médiane est le premier registre de la zone de nontransfert de la mémoire d'état. La zone de non-transfert doit contenir au moins 4 registres, les 3 premiers ayant un usage prédéfini : Registre Contenu Affiché et premier implicite Registres de transfert inverses pour transférer des données depuis l'automate redondant vers l'automate primaire Deuxième implicite Registre d'état CHS Le contenu des registres restants est spécifique à l'application ; la longueur est définie dans le paramètre longueur (partie basse). Les registres 4x de la zone de non-transfert ne sont jamais transférés de l'automate primaire vers l'automate redondant pendant les cycles logiques. L'une des raisons pour lesquelles il faut prévoir des registres additionnels dans la zone de nontransfert consiste à réduire l'impact du transfert de mémoire d'état sur la durée de cycle totale du système. Registre d'état CHS Utilisation du mot d'état : 31007524 8/2010 Bit Fonction 1 1 = sortie haute activée (indique que le système de redondance d'UC fonctionne) 2 1 = sortie médiane activée (indique une condition d'erreur) 3 - 10 Non utilisé 11 0 = l'interrupteur de l'automate est réglé sur A 1 = l'interrupteur de l'automate est réglé sur B 12 0 = la logique de l'automate correspond 1 = il y a une différence de logique 13 - 14 La valeur 2 bits est : z 0 1 si l'autre automate est en mode HORS LIGNE z 1 0 si l'autre automate est en mode primaire z 1 1 si l'autre automate est en mode redondance 15 - 16 La valeur 2 bits est : z 0 1 si cet automate est en mode HORS LIGNE z 1 0 si cet automate est en mode primaire z 1 1 si cet automate est en mode redondance 171 CHS : configuration de la redondance d'UC 172 31007524 8/2010 CKSM : total de contrôle 31007524 8/2010 CKSM : total de contrôle 28 Introduction Ce chapitre décrit l'instruction CKSM. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 174 Représentation 175 Description des paramètres 177 173 CKSM : total de contrôle Description sommaire Description de la fonction Plusieurs automates qui ne gèrent pas Modbus Plus sont fournis avec une instruction total de contrôle (CKSM) standard. CKSM a le même code opérande que l'instruction MSTR et n'est pas fourni dans le micrologiciel exécutable des automates qui gèrent Modbus Plus. 174 31007524 8/2010 CKSM : total de contrôle Représentation Symbole Représentation de l'instruction 31007524 8/2010 175 CKSM : total de contrôle Description des paramètres Description des paramètres de l'instruction 176 Paramètres Référence de Type de Signification mémoire données d'état Entrée haute 0x, 1x Aucun Déclenche le calcul du total de contrôle de la table source (Pour plus d'informations, reportez-vous à la section Description des paramètres : Entrées, page 177.) Entrée médiane 0x, 1x Aucun Sélection 1 CKSM (Pour plus d'informations, reportez-vous à la section Description des paramètres : Entrées, page 177.) Entrée basse 0x, 1x Aucun Sélection 2 CKSM (Pour plus d'informations, reportez-vous à la section Description des paramètres : Entrées, page 177.) source (partie haute) 4x INT, UINT Premier registre de sortie dans la table source. Le calcul du total de contrôle s'effectue sur les registres de cette table. résultat/compte 4x (partie médiane) INT, UINT Premier de deux registres successifs (Pour plus d'informations, reportez-vous à la section Résultat / Compte (partie médiane), page 177.) longueur (partie basse) INT Nombre de registres 4x dans la table source, compris entre 1 et 255 Sortie haute 0x Aucun Activée = Calcul du total de contrôle réussi Sortie médiane 0x Aucun Activée = Compte du registre implicite > longueur ou compte du registre implicite = 0 31007524 8/2010 CKSM : total de contrôle Description des paramètres Entrées Les états des entrées indiquent le type de calcul du total de contrôle à effectuer : Calcul CKSM Entrée haute Entrée médiane Entrée basse Contrôle direct ON OFF ON Contrôle d'addition binaire ON ON ON CRC-16 ON ON OFF LRC ON OFF OFF Résultat / Compte (partie médiane) Le registre 4x mémorisé en partie médiane est le premier de deux registres 4x successifs : Registre 31007524 8/2010 Contenu Affiché Mémorise le résultat du calcul du total de contrôle. Premier implicite Place une valeur indiquant le nombre de registres sélectionnés dans la table source telle une entrée de calcul. La valeur indiquée dans le registre implicite doit être ≤ à la longueur de la table. 177 CKSM : total de contrôle 178 31007524 8/2010 CMPR : comparaison de registres 31007524 8/2010 CMPR : comparaison de registres 29 Introduction Ce chapitre décrit l'instruction CMPR. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 180 Représentation 181 Description des paramètres 182 179 CMPR : comparaison de registres Description sommaire Description de la fonction L'instruction CMPR compare la configuration binaire d'une matrice A et la configuration binaire d'une matrice B pour trouver d'éventuelles discordances. En un seul cycle, toutes les positions de bit des deux matrices sont comparées successivement, jusqu'à ce qu'une discordance ait été trouvée ou que la fin des deux matrices ait été atteinte (sans discordances). 180 31007524 8/2010 CMPR : comparaison de registres Représentation Symbole Représentation de l'instruction Description des paramètres Description des paramètres de l'instruction Paramètres Référence de mémoire d'état Type de Signification données Entrée haute 0x, 1x Aucun Activée = Déclenche l'opération de comparaison Entrée médiane 0x, 1x Aucun Désactivée = Redémarre la fonction à la dernière discordance Activée = Redémarre la fonction au début matrice A (partie haute) 0x, 1x, 3x, 4x ANY_BIT Première référence de la matrice A, l'une des deux matrices à comparer registre du pointeur (partie médiane) 4x WORD Pointeur de la matrice B : le premier registre de la matrice B est le registre 4x suivant immédiatement le registre du pointeur INT, UINT Longueur de la matrice, comprise entre 1 et 100 Donne une image de l'état de l'entrée haute longueur (partie basse) 31007524 8/2010 Sortie haute 0x Aucun Sortie médiane 0x Aucun Activée = Discordance détectée Sortie basse 0x Aucun Activé = le bit discordant de la matrice A est 1 Désactivé = le bit discordant de la matrice A est 0 181 CMPR : comparaison de registres Description des paramètres Registre du pointeur (partie médiane) Le registre du pointeur situé en partie médiane doit être un registre de sortie 4x. Il s'agit du pointeur vers la matrice B, c.–à–d. l'autre matrice à comparer. Le premier registre de la matrice B est le registre suivant immédiatement le registre du pointeur. La valeur sauvegardée dans le registre du pointeur est incrémentée à chaque position de bit comparée des deux matrices. Lorsque les positions 1 de bit de la matrice A et de la matrice B sont comparées, le registre du pointeur contient la valeur 1 ; lorsque les positions 2 de bit des deux matrices sont comparées, la valeur du pointeur est incrémentée à 2, etc. Lorsque les sorties indiquent une discordance, vous pouvez vérifier le compte totalisé du registre du pointeur pour déterminer la position de bit de discordance des deux matrices. Longueur de la matrice (partie basse) Le nombre entier saisi en partie basse indique la longueur des deux matrices c.–à– d. le nombre de registres ou de mots 16 bits de chaque matrice. (Les matrices A et B ont la même longueur). La longueur de matrice peut varier entre 1 et 100, c.–à– d. qu'une longueur 2 indique que les matrices A et B contiennent 32 bits. 182 31007524 8/2010 Bobines 31007524 8/2010 Bobines 30 Introduction Ce chapitre décrit l'élément d'instruction Bobines. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Description sommaire 184 Recommandations générales d'utilisation 185 183 Bobines Description sommaire Description de la fonction Une bobine est une sortie TOR activée et désactivée par transmission du courant dans le programme logique. Une bobine individuelle correspond à une référence 0xxxx de la mémoire d'état de l'automate. L'automate tenant à jour en mémoire d'état les valeurs de sortie, une bobine peut être utilisée en interne par le programme logique ou en externe par la table d'affectation des E/S vers un module de sortie TOR du système de contrôle. Lorsqu'une bobine est active, elle transmet le courant à un circuit de sortie TOR ou modifie l'état d'un contact relais interne dans la mémoire d'état. Types de bobines Il existe deux types de bobines : Bobine normale -( )Une bobine normale ou non mémorisée perd son état en cas de coupure de l'alimentation de l'automate. Lorsque l'alimentation d'un automate est coupée, une bobine normale reprend l'état repos. Une fois l'alimentation restaurée, l'état de la bobine reste au repos lors du premier cycle de la logique. z Bobine mémorisée ou verrouillée -(M)- ou -(L)Une bobine mémorisée ou verrouillée ne perd PAS son état en cas de coupure de l'alimentation de l'automate. Si une bobine mémorisée (ou verrouillée) est à l'état actif lors d'une coupure de l'alimentation de l'automate, la bobine reprend l'état actif lorsque l'alimentation est restaurée. La bobine conserve l'état actif lors du premier cycle de la logique, puis le programme logique reprend le contrôle. z Les bobines sont référencées sous 0xxxx. Elles peuvent être désactivées et être forcées sur l'état actif ou repos. Si vous désactivez une bobine, la logique programmée par l'utilisateur ne peut plus en modifier l'état. NOTE : La fonction peut réécrire l'état des bobines désactivées utilisées comme destinations des blocs fonction DX. 184 31007524 8/2010 Bobines Recommandations générales d'utilisation Présentation Une fois qu'un numéro de référence 0x a été affecté à une bobine, celui-ci ne peut pas être affecté à une quelconque autre bobine du programme schéma à contacts. Un numéro de référence 0x peut être associé à un numéro de contact relais quelconque, qui peut ensuite être contrôlé via l'état de la bobine portant le même numéro de référence. La plupart des ensembles de logiciels de consoles sont associés à une fonction appelée suivi permettant de placer les positions sur le schéma à contacts des contacts contrôlés par une bobine. Pour plus d'informations, reportez-vous au manuel utilisateur du logiciel. Validation/invalidation des fonctions de valeurs TOR Le logiciel de console permet d'invalider une bobine logique ou une entrée TOR dans votre programme logique. Une condition d'invalidation a les conséquences suivantes : z L'équipement terrain en entrée ne contrôle pas la logique 1x affectée. z La logique ne contrôle pas l'invalidation de la valeur 9x. Pour valider ou invalider une bobine ou une entrée TOR, la protection de la mémoire de l'automate doit être désactivée. NOTE : Vous devez connaître cette exception lorsque vous invalidez des bobines : Les fonctions de transfert de données permettent aux bobines des parties cible d'identifier l'état Activé/Désactivé courant de TOUTES les bobines, que ces bobines soient invalidées ou non. Ainsi, la logique peut, grâce à cette identification, répondre en conséquence. Elle est alors susceptible de générer des effets inattendus ou indésirables. Si vous espérez qu'une bobine invalidée va rester invalidée dans la fonction DX, des effets inattendus et indésirables risquent de se produire sur votre application. Activation et mise au repos forcées des bits internes La plupart des logiciels de consoles présentent des fonctions d'activation et de mise au repos forcées. Lorsqu'une bobine ou une entrée TOR est invalidée, vous pouvez modifier son état et le faire passer de Etat repos à Etat actif grâce à la fonction d'activation forcée, ou vice-versa grâce à la fonction de mise au repos forcée. Lorsqu'une bobine ou une entrée TOR est validée, son état ne peut pas être forcé. 31007524 8/2010 185 Bobines 186 31007524 8/2010 COMM : fonction de communication ASCII 31007524 8/2010 COMM : fonction de communication ASCII 31 Introduction Ce chapitre décrit l'instruction COMM. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Description sommaire 188 Représentation 189 187 COMM : fonction de communication ASCII Description sommaire Description de la fonction Le bloc COMM Fonction de communication ASCII est utilisé pour émettre/recevoir des données ASCII (un seul caractère ASCII, 1 à 4 entiers ou 1 à 4 chiffres hexadécimaux) vers le/du port unique ASCII. L'instruction COMM permet de lire et d'écrire des messages prêts sur des périphériques d'entrée/sortie en caractères ASCII via l'un des ports de communication intégrés sur un automate Micro ou encore si l'automate est un parent, via le port de communication de l'un des automates enfant de la liaison d'extension. NOTE : Disponible uniquement sur les automates Micro 311, 411, 512 et 612. 188 31007524 8/2010 COMM : fonction de communication ASCII Représentation Symbole Représentation de l'instruction Description des paramètres Description des paramètres de l'instruction Paramètres Référence de mémoire d'état Entrée haute 0x, 1x Aucun L'état actif démarre l'opération COMM. Entrée basse 0x, 1x Aucun L'état actif abandonne l'opération et définit la sortie médiane. INT, UINT Le registre 4xxxx mémorisé en partie haute est le premier des 10 registres de sortie successifs du bloc de contrôle. Pour plus d'informations sur l'utilisation des registres, reportez-vous à la table d'utilisation des registres ci-dessous. bloc de contrôle 4x (partie haute) 31007524 8/2010 Type de Signification données 189 COMM : fonction de communication ASCII Paramètres Référence de mémoire d'état Type de Signification données bloc de données 4x (partie médiane) INT, UINT La partie médiane contient le premier registre 4xxxx du bloc de données, table où sont placées les données variables de message. Dans une opération de lecture, le bloc de données est une table cible. Dans une opération d'écriture, le bloc de données est une table source. longueur (partie basse) INT, UINT Le nombre entier saisi en partie basse indique la longueur, c.-à-d. le nombre de registres, du bloc de données. La longueur peut varier entre 3 et 255. (Sortie haute) 0x Aucun Donne une image de l'entrée haute. Sortie médiane 0x Aucun Activée = Erreur détectée (pour un cycle). Sortie basse 0x Aucun Activée = Opération terminée (pour un cycle). Table d'utilisation des registres Cette table donne le détail de l'utilisation du registre dans la partie haute. 190 Registre Utilisation 4xxxx + 0 Code d'opération 4xxxx + 1 Etat d'erreur 4xxxx + 2 Nombre de champs de données fournis/prévus 4xxxx + 3 Nombre de champs de données traités 4xxxx + 4 Réservé 4xxxx + 5 Numéro de port (1 pour local, 2 pour l'enfant n° 1, 3 pour l'enfant n° 2, etc.) 4xxxx + 6 Réservé 4xxxx + 7 Réservé 4xxxx + 8 Réservé 4xxxx + 9 Temporisateur d'état actif 31007524 8/2010 COMP : complément d'une matrice 31007524 8/2010 COMP : complément d'une matrice 32 Introduction Ce chapitre décrit l'instruction COMP. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 192 Représentation 193 Description des paramètres 195 191 COMP : complément d'une matrice Description sommaire Description de la fonction AVERTISSEMENT BOBINES INVALIDEES Avant d'utiliser les instructions COMP, vérifiez les bobines invalidées. L'instruction COMP écrasera toutes les bobines invalidées de la matrice cible sans pour autant les valider. Ceci peut provoquer des dégâts si une bobine a été invalidée pour des travaux de réparation ou d'entretien, puisque l'état de la bobine peut changer suite à l'instruction COMP. Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des dommages matériels. L'instruction COMP effectue le complément de la configuration binaire, c.-à-d. qu'elle remplace tous les 0 d'une matrice source par des 1 et tous les 1 par des 0 et copie ensuite la configuration binaire dans une matrice cible. L'ensemble de l'opération COMP s'effectue en un cycle. 192 31007524 8/2010 COMP : complément d'une matrice Représentation Symbole Représentation de l'instruction Description des paramètres Description des paramètres de l'instruction Paramètres Référence de Type de mémoire données d'état Signification Entrée haute 0x, 1x Aucun Activée = Déclenche l'opération de complément source (partie haute) 0x, 1x, 3x, 4x ANY_BIT Première référence de la matrice source qui contient la configuration binaire d'origine avant l'opération de complément cible (partie médiane) 0x, 4x ANY_BIT Première référence de la matrice cible dans laquelle la configuration binaire qui a fait l'objet d'un complément sera placée INT, UINT Longueur de la matrice, comprise entre 1 et 100 Aucun Donne une image de l'état de l'entrée haute longueur (partie basse) Sortie haute 31007524 8/2010 0x 193 COMP : complément d'une matrice Exemple d'instruction COMP Lorsque le contact 10001 transmet du courant, la configuration binaire de la matrice source (registres 40600 et 40601) fait l'objet d'un complément, puis cette configuration binaire est placée dans la matrice cible (registres 40602 et 40603). La configuration binaire d'origine est maintenue dans la matrice source. 194 31007524 8/2010 COMP : complément d'une matrice Description des paramètres Longueur de la matrice (partie basse) Le nombre entier mémorisé en partie basse indique une longueur de matrice, c.–à– d. le nombre de registres ou de mots 16 bits des matrices. La longueur est comprise entre 1 et 100. La longueur 2 indique que 32 bits de chaque matrice feront l'objet d'un complément. 31007524 8/2010 195 COMP : complément d'une matrice 196 31007524 8/2010 Contacts 31007524 8/2010 Contacts 33 Introduction Ce chapitre décrit l'élément d'instruction Contacts. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Description sommaire 198 Représentation 199 197 Contacts Description sommaire Description de la fonction Les contacts permettent de faire passer ou de ne pas faire passer l'état logique d'un programme schéma à contacts. 198 31007524 8/2010 Contacts Représentation Description de la fonction Il s'agit de contacts TOR, c.-à-d. que chacun occupe un point d'E/S dans la logique du schéma à contacts. Un contact individuel peut être affecté à une référence 0x ou 1x de la mémoire d'état de l'automate, auquel cas chaque contact occupe un élément du réseau en schéma à contacts. Il existe quatre types de contacts : z contacts normalement ouverts (N.O.) z contacts normalement fermés (N.F.) z contacts sur front montant (F.M.) z contacts sur front descendant (F.D) Référencement de contacts normalement ouverts/normalement fermés Les contacts normalement ouverts -| |- et normalement fermés -|\|- peuvent être référencés par des entrées (1xxxx) ou par des bobines (0xxxx). Etat de l'équipement terrain ou flux de contacts programmés Equipement terrain Contact programmé Contact de champ fermé Contact de champ ouvert -| |- -| |- Transmet le courant -|\|-|\|- Transmet le courant -| |- Transmet le courant Transmet le courant Référencement des contacts sur front montant/descendant Les contacts sur front montant -| ↑ |- et sur front descendant -| ↓ |- peuvent être référencés par des entrées (1xxxx) ou des bobines (0xxxx). Transition de la table d'état Evolution de l'état logique à la transition -|↑|- De l'état repos à l'état actif Actif 1 puissance de cycle -|↓|- De l'état actif à l'état repos Repos Impulsion du flux NOTE : Les contacts sur front montant/descendant transmettent constamment du courant si la bobine référencée est ignorée par une instruction SKP ou par l'ordonnanceur de segments. Les contacts sur front montant/descendant peuvent ne pas transmettre de courant s'ils sont référencés sur une entrée déjà ordonnancée pour lire la station d'E/S plus d'une fois par cycle via l'ordonnanceur de segments. 31007524 8/2010 199 Contacts 200 31007524 8/2010 CONV : conversion de données 31007524 8/2010 CONV : conversion de données 34 Introduction Ce chapitre décrit l'instruction CONV. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Description sommaire 202 Représentation 203 201 CONV : conversion de données Description sommaire Description de la fonction Le bloc Conversion est l'une des quatre instructions de remplacement du 484. Le bloc CONV permet de convertir les éléments suivants : z z des données TOR en un registre de sortie, les données d'un registre de sortie en données TOR. La conversion peut être : z z z binaire - binaire, BCD - binaire (TOR vers registre), binaire - BCD (registre vers TOR). Ce bloc utilise 12 bits en entrée et 12 en sortie, mais si la conversion est directement binaire - binaire, la désactivation des bits 11 et 12 est forcée. Lors de la conversion de données TOR en registre de sortie, la source est indiquée comme étant une constante déterminant un registre 1xxxx et la cible un registre 4xxxx (00049 correspondant, par exemple, à 40049). Lors de la conversion d'un registre en bits de sortie, la source est indiquée en tant que registre de sortie (4xxxx) et la cible en tant que constante déterminant un registre 0xxxx. Par exemple, 00032 revient à 12 bobines dans 00032. NOTE : Prenez garde lorsque vous convertissez des données de registres en données TOR car les bobines peuvent être activées par inadvertance. NOTE : Disponible uniquement sur les automates 984-351 et 984-455. 202 31007524 8/2010 CONV : conversion de données Représentation Symbole Représentation de l'instruction Description des paramètres Description des paramètres de l'instruction 31007524 8/2010 Paramètres Référence de mémoire d'état Type de données Signification Entrée haute 0x, 1x Aucun L'état actif déclenche l'opération indiquée Entrée basse 0x, 1x Aucun Activée = Binaire Désactivée = BCD source (partie haute) 4x INT, UINT Convertit le contenu du registre registre (partie basse) 3x INT, UINT Sortie haute 0x Aucun Opération réussie 203 CONV : conversion de données 204 31007524 8/2010 CTIF : fonction compteur, temporisateur et interruption 31007524 8/2010 CTIF : fonction compteur, temporisateur et interruption 35 Introduction Ce chapitre décrit l'instruction CTIF. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 206 Représentation 207 Description des paramètres 208 205 CTIF : fonction compteur, temporisateur et interruption Description sommaire Description de la fonction Le bloc CTIF est utilisé par un automate parent pour accéder aux fonctions enfant sur un bus d'extension d'E/S. Le bloc fonction parent est utilisé au cours du même cycle. Lorsque le système compte plusieurs blocs, le bloc utilisé sera le dernier bloc exécuté. L'instruction CTIF est utilisée avec les automates Micro pour configurer les entrées des opérations d'interruption câblées et/ou des opérations de compteur/temporisateur câblées. Cette instruction débute et se termine au cours du même cycle. L'instruction CTIF est un outil de configuration/d'exploitation pour les automates Modicon Micro contenant des interruptions matérielles (tous les modèles à l'exception des modèles 110CPU311 sont concernés). Le compteur/temporisateur et les interruptions sont placés dans la partie matérielle de l'automate, tandis que l'instruction CTIF permet de configurer ce matériel. NOTE : La fonction CTIF (fonction compteur, temporisateur et interruption) est uniquement disponible sur les automates Micro 311, 411, 512 et 612. 206 31007524 8/2010 CTIF : fonction compteur, temporisateur et interruption Représentation Symbole Représentation de l'instruction Description des paramètres Description des paramètres de l'instruction Paramètres Référence de mémoire d'état Type de Signification donnée s Entrée haute 0x, 1x Aucun L'état actif déclenche l'opération indiquée N° de registre (partie haute) 4x INT Le registre 4xxxx mémorisé en partie haute est le premier des quatre registres de sortie successifs du bloc de paramètres CTIF. Pour plus d'informations sur les quatre registres, reportez-vous à la section Description des paramètres, page 208. INT La valeur entière entrée en partie basse indique le numéro de station où l'opération sera exécutée. Ce nombre est compris entre 1 et 5. numéro de station (partie basse) 31007524 8/2010 Sortie haute 0x Aucun Donne une image de l'état de l'entrée haute Sortie basse 0x Aucun Erreur 207 CTIF : fonction compteur, temporisateur et interruption Description des paramètres Présentation La partie haute contient quatre registres successifs, de 4x à 4x+3. Cette rubrique décrit le mode d'utilisation et de configuration de ces registres dans la partie haute. Utilisation du premier registre (4x) Le premier registre, 4x, vous donne des informations sur le type d'erreur générée ou sur le type d'opération en cours. Lors de la configuration du registre, vous devez prendre en compte le mode d'utilisation des bits, ainsi que les résultats des combinaisons Activé/Désactivé. Voici un graphique illustrant l'utilisation des bits pour le premier registre (4x), et un tableau décrivant l'utilisation des bits pour le même registre (4x). Bit Utilisation 1-4 Réservé 5-8 Messages de type Erreur/Commande 9 - 14 Réservé 15 Mode activé 16 Mode Lecture Le tableau suivant présente les combinaisons Activé/Désactivé pour les bits 5 à 8, ainsi que le message de type erreur généré par le premier registre (4x). Bit 208 5 6 7 8 Description 0 0 0 0 Aucune erreur trouvée 0 0 0 1 Type d'opération spécifié non pris en charge 0 0 1 0 Interruption 2 non prise en charge par ce modèle 0 0 1 1 Interruption 3 non prise en charge pendant que le compteur est sélectionné 0 1 0 0 Valeur de compteur 0 définie 0 1 0 1 Valeur de compteur excessive (valeur de compteur > 16 383) 0 1 1 0 Type d'opération pris en charge uniquement sur la station locale 31007524 8/2010 CTIF : fonction compteur, temporisateur et interruption Bit 5 6 7 8 Description 0 1 1 1 La station spécifiée n'apparaît pas dans l'affectation des E/S 1 0 0 0 Aucun sous-programme pour l'interruption activée 1 0 0 1 Station distante défectueuse 1 0 1 0 Fonction non prise en charge à distance Le tableau suivant présente l'utilisation des bits, ainsi que les combinaisons Activé/Désactivé pour les bits 15 et 16 du premier registre (4x). Bit 15 16 Description 0 0 Mode activé 0 1 Mode Lecture Utilisation du deuxième registre (4x+1) Le deuxième registre, 4x+1, vous permet de contrôler la configuration de la commande Mode activé. Lors de la configuration du registre, vous devez prendre en compte le mode d'utilisation des bits, ainsi que les résultats des combinaisons Activé/Désactivé. Voici un graphique illustrant l'utilisation des bits pour le deuxième registre (4x+1). Les tableaux suivants présentent l'utilisation des bits, ainsi que les combinaisons Activé/Désactivé pour les bits 1 à 16 du deuxième registre (4x+1). Le tableau suivant présente l'utilisation des bits, ainsi que les combinaisons Activé/Désactivé pour les bits 1 et 2 du deuxième registre (4x+1). Bit Utilisation 1 Chargement de la valeur finale 0 : Désactiver 1 : Activer 2 Réservé Le tableau suivant présente l'utilisation des bits, ainsi que les combinaisons Activé/Désactivé pour les bits 3 et 4 du deuxième registre (4x+1). Bit 31007524 8/2010 3 4 Description 0 1 Désactiver le traitement de l'interruption pour l'interruption 3 1 0 Activer le traitement de l'interruption pour l'interruption 3 209 CTIF : fonction compteur, temporisateur et interruption Le tableau suivant présente l'utilisation des bits, ainsi que les combinaisons Activé/Désactivé pour les bits 5 et 6 du deuxième registre (4x+1). Bit 5 6 Description 0 1 Désactiver le traitement de l'interruption pour l'interruption 2 1 0 Activer le traitement de l'interruption pour l'interruption 2 Le tableau suivant présente l'utilisation des bits, ainsi que les combinaisons Activé/Désactivé pour les bits 7 et 8 du deuxième registre (4x+1). Bit 7 8 Description 0 1 Désactiver le traitement de l'interruption pour l'interruption 1 1 0 Activer le traitement de l'interruption pour l'interruption 1 Le tableau suivant présente l'utilisation des bits, ainsi que les combinaisons Activé/Désactivé pour les bits 9 et 10 du deuxième registre (4x+1). Bit 9 10 Description 0 1 Désactiver le traitement de l'interruption pour l'interruption temporisateur/compteur 1 0 Activer le traitement de l'interruption pour l'interruption temporisateur/compteur Le tableau suivant présente l'utilisation des bits, ainsi que les combinaisons Activé/Désactivé pour les bits 11 et 12 du deuxième registre (4x+1). Bit 11 12 Description 0 1 Désactiver la commande de redémarrage automatique 1 0 Activer la commande de redémarrage automatique Le tableau suivant présente l'utilisation des bits, ainsi que les combinaisons Activé/Désactivé pour les bits 13 et 14 du deuxième registre (4x+1). Bit 13 14 Description 0 1 Arrêter la commande compteur/temporisateur 1 0 Démarrer la commande compteur/temporisateur Le tableau suivant présente l'utilisation des bits, ainsi que les combinaisons Activé/Désactivé pour les bits 15 et 16 du deuxième registre (4x+1). Bit 210 15 16 Description 0 1 Mode compteur 1 0 Mode temporisateur 31007524 8/2010 CTIF : fonction compteur, temporisateur et interruption Utilisation du troisième registre (4x+2) Le troisième registre, 4x+2, vous permet d'obtenir l'état de la commande Mode Lecture. Lors de la configuration du registre, vous devez prendre en compte le mode d'utilisation des bits, ainsi que les résultats des combinaisons Activé/Désactivé. Voici un graphique illustrant l'utilisation des bits pour le troisième registre (4x+2), Le tableau suivant présente l'utilisation des bits, ainsi que les combinaisons Activé/Désactivé pour les bits 1 à 16 du troisième registre (4x+2). 31007524 8/2010 Bit Utilisation 1 Aucun sous-programme pour l'interruption 3 2 Aucun sous-programme pour l'interruption 2 3 Aucun sous-programme pour l'interruption 1 4 Aucun sous-programme pour l'interruption temporisateur/compteur 5-9 Réservé 10 Interruption 3 0 – Désactivé 1 – Activé 11 Interruption 2 0 : Désactivé 1 : Activé 12 Interruption 1 0 : Désactivé 1 : Activé 13 Traitement de l'interruption pour l'entrée temporisateur/compteur 0 : Désactivé 1 : Activé 14 Commande de redémarrage automatique 0 : Désactivé 1 : Activé 15 Commande temporisateur/compteur 0 : Arrêté 1 : Démarré 16 0 : Mode Compteur 1 : Mode Temporisateur 211 CTIF : fonction compteur, temporisateur et interruption Utilisation du quatrième registre (4x+3) Le quatrième registre indique la valeur actuelle de comptage de l'interruption temporisateur/compteur. Cette valeur peut être activée par le bloc d'instruction (activation automatique) ou par l'utilisateur. z Mode Lecture Le bloc d'instruction active la valeur courante du compte. z Mode activé L'utilisateur active le compteur/temporisateur. 212 31007524 8/2010 DCTR : décompteur 31007524 8/2010 DCTR : décompteur 36 Introduction Ce chapitre décrit l'instruction DCTR. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Description sommaire 214 Représentation 215 213 DCTR : décompteur Description sommaire Description de la fonction L'instruction DCTR compte les transitions entre l'état repos et l'état actif de l'entrée de commande, depuis une valeur de compteur préréglée sur zéro. 214 31007524 8/2010 DCTR : décompteur Représentation Symbole Représentation de l'instruction *Disponible sur : z les automates E685/785 z les automates L785 z les automates de la série Quantum 31007524 8/2010 215 DCTR : décompteur Description des paramètres Description des paramètres de l'instruction 216 Paramètres Référence de Type de mémoire données d'état Signification Entrée haute 0x, 1x Aucun Désactivée → Activée = Déclenche l'opération de comptage Entrée basse 0x, 1x Aucun Désactivée = Le total cumulé est remis à la valeur préréglée Activée = Compteur actif préréglage compteur (partie haute) 3x, 4x INT, UINT Valeur préréglée, peut être affichée explicitement sous forme d'entier (compris entre 1 et 65 535) ou mémorisée dans un registre Valeur préréglée : max. 999 - automate 16 bits ; max. 9999 - automate 24 bits ; max. 65535 - automate* total cumulé (partie basse) 4x INT, UINT Valeur de comptage (valeur réelle), qui décrémente de 1 à chaque transition de Désactivée vers Activée de l'entrée haute, jusqu'à atteindre zéro. Sortie haute 0x Aucun Activée = Total cumulé = 0 Sortie basse 0x Aucun Activée = Total cumulé > 0 31007524 8/2010 DIOH : santé des E/S distribuées 31007524 8/2010 DIOH : santé des E/S distribuées 37 Introduction Ce chapitre décrit l'instruction DIOH. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 218 Représentation 219 Description des paramètres 221 217 DIOH : santé des E/S distribuées Description sommaire Description de la fonction L'instruction DIOH vous permet d'obtenir des données de santé d'un groupe désigné de stations du réseau d'E/S distribuées. Elle permet également d'accéder à la table d'état de santé DIO, dans laquelle les données de santé des modules de stations (jusqu'à 189) distribuées sont mémorisées. 218 31007524 8/2010 DIOH : santé des E/S distribuées Représentation Symbole Représentation de l'instruction 31007524 8/2010 219 DIOH : santé des E/S distribuées Description des paramètres Description des paramètres de l'instruction Paramètres Référence Type de Signification de mémoire données d'état Entrée haute 0x, 1x source (partie haute) Aucun Activée = Déclenche la récupération des mots d'état déterminés dans la table cible depuis la table de validité DIO INT, UINT La valeur source mémorisée en partie haute est une constante à quatre chiffres au format xxyy, avec : z xx est une valeur décimale comprise entre 00 et 16, indiquant le numéro d'emplacement du processeur DIO associé. La valeur 00 peut toujours être utilisée pour indiquer les ports Modbus Plus de l'automate, quel que soit l'emplacement dans lequel il se trouve. z yy est une valeur décimale comprise entre 1 et 64, indiquant le numéro de station sur l'anneau à jeton correspondant. Si vous êtes intéressé par exemple par l'obtention de l'état de station, en commençant par la station distribuée nº1 d'un réseau géré par un processeur DIO situé dans l'emplacement 3, entrez 0301 en partie haute. cible (partie médiane) 4x longueur (partie basse) 220 INT, UINT, WORD Premier registre de sortie de la table cible, c.-àd. d'un bloc de registres successifs dans lequel les données obtenues sur l'état de santé sont mémorisées. INT, UINT Longueur de la table cible, comprise entre 1 et 64 Sortie haute 0x Aucun Donne une image de l'entrée haute Sortie basse 0x Aucun Activée = Entrée source non valide 31007524 8/2010 DIOH : santé des E/S distribuées Description des paramètres Valeur source (partie haute) La valeur source mémorisée en partie haute est une constante à quatre chiffres au format xxyy, avec : Chiffres Signification xx Valeur décimale comprise entre 00 et 16, indiquant le numéro de l'emplacement du processeur DIO associé. La valeur 00 peut toujours être utilisée pour indiquer les ports Modbus Plus de l'automate, quel que soit l'emplacement dans lequel il se trouve. yy Valeur décimale comprise entre 1 et 64, indiquant le numéro de station de l'anneau à jeton correspondant. Si vous êtes intéressé par exemple par l'obtention de l'état de station, en commençant par la station distribuée nº1 d'un réseau géré par un processeur DIO situé dans l'emplacement 3, entrez 0301 en partie haute. Longueur de la table cible (partie basse) Le nombre entier mémorisé en partie basse indique la longueur, c.–à–d. le nombre de registres 4x de la table cible. La longueur est comprise entre 1 et 64. NOTE : Si vous spécifiez une longueur qui dépasse le nombre de stations disponibles, l'instruction ne retournera l'information d'état que pour les stations disponibles. Si vous indiquez par exemple le 63ème numéro de station (yy) dans le registre de la partie haute et que vous demandez ensuite une longueur de 5, l'instruction ne délivrera que deux registres (les 63ème et 64ème mots d'état) dans la table cible. 31007524 8/2010 221 DIOH : santé des E/S distribuées 222 31007524 8/2010 DISA : moniteur de bits invalidés 31007524 8/2010 DISA : moniteur de bits invalidés 38 Introduction Ce chapitre décrit l'instruction DISA. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Description sommaire 224 Représentation 225 223 DISA : moniteur de bits invalidés Description sommaire Description de la fonction L'instruction DISA est une fonction chargeable, une instruction contrôlant les bobines et les entrées désactivées. Ainsi, l'instruction DISA contrôle l'état invalidé de toutes les adresses 0xxxx et 1xxxx. 224 31007524 8/2010 DISA : moniteur de bits invalidés Représentation Symbole Représentation de l'instruction NOTE : L'instruction chargeable NSUP doit être chargée avant l'instruction chargeable DISA. Description des paramètres Description des paramètres de l'instruction Paramètres Référence de mémoire d'état Signification Entrée haute 0x, 1x Aucun Table de bobines invalidées bobines (partie haute) 4x INT, UINT Nombre de bobines invalidées détectées (même si > NNN) 4x+# INT, UINT Adresse de "#" bobine invalidée détectée INT, UINT Nombre de bits d'entrée invalidés détectés (même si > NNN) INT, UINT Adresse de "#" bit d'entrée invalidé détectée INT, UINT Transmet le courant lorsque l'entrée haute est alimentée entrées 4y (partie médiane) 4y+# longueur (partie basse) 31007524 8/2010 Type de données Sortie haute 0x Aucun Activée si des bobines invalidées sont détectées Sortie médiane 0x Aucun Activée si des bits d'entrée invalidés sont détectés Sortie basse 0x Aucun Donne une image de l'état de l'entrée haute 225 DISA : moniteur de bits invalidés 226 31007524 8/2010 DIV : division 31007524 8/2010 DIV : division 39 Introduction Ce chapitre décrit l'instruction DIV. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Description sommaire 228 Représentation 229 Exemple 231 227 DIV : division Description sommaire Description de la fonction L'instruction DIV divise la valeur 1 non signée (sa partie haute) par la valeur 2 non signée (sa partie médiane) et mémorise le quotient ainsi que le reste dans deux registres de sortie successifs en partie basse. 228 31007524 8/2010 DIV : division Représentation Symbole Représentation de l'instruction *Disponible sur : z les automates E685/785 z les automates L785 z les automates de la série Quantum 31007524 8/2010 229 DIV : division Description des paramètres Description des paramètres de l'instruction 230 Paramètres Référence de Type de mémoire données d'état Entrée haute Signification 0x, 1x Aucun Activée = Valeur 1 divisée par valeur 2 Entrée médiane 0x, 1x Aucun Activée = Reste décimal Désactivée = Reste fractionnel valeur 1 (partie haute) 3x, 4x INT, UINT Dividende, peut être affiché explicitement sous forme d'entier (de 1 à 9 999)* ou mémorisé dans deux registres successifs (affiché pour la partie poids fort, implicite pour la partie poids faible) *Max. 999 - 16 bits max. 9999 - 24 bits max. 65535 - automate* (voir liste des disponibilités ci-dessus) valeur 2 (partie médiane) 3x, 4x INT, UINT Diviseur, peut être affiché explicitement sous forme d'entier (de 1 à 9 999) ou mémorisé dans un registre *Max. 999 - 16 bits max. 9999 - 24 bits max. 65535 - automate* (voir liste des disponibilités ci-dessus) résultat/reste (partie basse) 4x INT, UINT Le premier de deux registres de sortie successifs : affiché : résultat de la division implicite : reste (sous forme décimale ou de fractionnelle, selon l'état de l'entrée médiane) Sortie haute 0x Aucun Activée = Division réussie Sortie médiane 0x Aucun Activée = Dépassement : si résultat > 9999*, la valeur 0 est retournée *Max. 999 - 16 bits max. 9999 - 24 bits max. 65535 - automate* (voir liste des disponibilités ci-dessus) Sortie basse 0x Aucun Activée = Valeur 2 = 0 31007524 8/2010 DIV : division Exemple Quotient de l'instruction DIV L'état de l'entrée médiane indique si le reste sera exprimé sous forme de décimal ou de fraction. Si par exemple la valeur 1 est égale à 8 et la valeur 2 à 3, le reste décimal (entrée médiane activée) est 6666 ; le reste fractionnel (entrée médiane désactivée) est 2. 31007524 8/2010 231 DIV : division 232 31007524 8/2010 DLOG : consignation de données pour support de lecture/écriture PCMCIA 31007524 8/2010 DLOG : consignation de données pour support de lecture/écriture PCMCIA 40 Introduction Ce chapitre décrit l'instruction DLOG. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 234 Représentation 235 Description des paramètres 237 Traitement des erreurs d'exécution 239 233 DLOG : consignation de données pour support de lecture/écriture PCMCIA Description sommaire Description de la fonction NOTE : Cette instruction n'est disponible qu'avec la famille des automates TSX Compact. Le support de lecture écriture PCMCIA consiste en une extension de configuration qui doit être mise en œuvre à l'aide d'une instruction DLOG. L'instruction DLOG offre la possibilité pour une application de copier des données sur une carte flash PCMCIA, de copier des données depuis une carte flash PCMCIA, d'effacer des blocs mémoire individuels sur cette carte ou de l'effacer entièrement. L'application définit le format des données ainsi que la fréquence de mémorisation de celles-ci. NOTE : L'instruction DLOG ne fonctionne qu'avec des cartes flash PCMCIA linéaires utilisant les périphériques flash AMD. 234 31007524 8/2010 DLOG : consignation de données pour support de lecture/écriture Représentation Symbole Représentation de l'instruction 31007524 8/2010 235 DLOG : consignation de données pour support de lecture/écriture PCMCIA Description des paramètres Description des paramètres de l'instruction Paramètres Référence de Type de mémoire données d'état Signification Entrée haute 0x, 1x Aucun Activée = Opération DLOG autorisée, elle doit rester sur l'état actif jusqu'à ce qu'elle se soit déroulée avec succès ou qu'une erreur soit survenue. Entrée médiane 0x, 1x Aucun Activée = Arrête l'opération active en cours bloc de contrôle 4x (partie haute) INT, UINT Premier des cinq registres successifs dans le bloc de contrôle DLOG (Pour plus d'informations, reportez-vous à la section Bloc de contrôle (partie haute), page 237.) 4x INT, UINT Premier registre 4x d'une zone de données utilisée comme source ou cible de l'opération définie. (Pour plus d'informations, reportez-vous à la section Zone de données (partie médiane), page 238.) INT, UINT Nombre maximum de registres réservés pour la zone de données, compris entre 0 et 100 zone de données (partie médiane) longueur (partie basse) 236 Sortie haute 0x Aucun Donne une image de l'état de l'entrée haute Sortie médiane 0x Aucun Activée = Erreur lors de l'opération DLOG (opération terminée sans succès) Sortie basse 0x Aucun Activée = Opération DLOG achevée avec succès (opération réussie) 31007524 8/2010 DLOG : consignation de données pour support de lecture/écriture Description des paramètres Bloc de contrôle (partie haute) Le registre 4x mémorisé en partie haute est le premier des cinq registres successifs dans le bloc de contrôle DLOG. Ce bloc de contrôle définit la fonction de la commande DLOG, la fenêtre et le décalage de la carte flash PCMCIA, un mot d'état de retour ainsi qu'une valeur du nombre de mots de données. Registre Fonction Contenu Affiché Etat d'erreur Affiche les erreurs DLOG en valeurs HEX. Premier implicite Type de commande 1 = écrire sur la carte PCMCIA 2 = lire la carte PCMCIA 3 = effacer un bloc 4 = effacer toute la carte. Deuxième implicite Fenêtre (identificateur de bloc) Ce registre identifie un bloc particulier (fenêtre de mémoire PCMCIA) situé sur la carte PCMCIA (1 bloc = 128 ko). Le nombre de blocs dépend de la taille mémoire de la carte PCMCIA. (par exemple 0 à 31 max. pour une carte PCMCIA de 4 Mo). Troisième implicite Décalage (Adresse d'octet au sein du bloc) Une certaine plage d'octets au sein d'un certain bloc de la carte PCMCIA. Plage comprise entre 1 et 128 ko Quatrième implicite Compte Nombre de registres 4x à écrire ou à lire sur la carte PCMCIA.Plage comprise entre 0 et 100. NOTE : Les adresses de cartes flash PCMCIA sont composées sur un modèle de fenêtre/décalage. La taille des fenêtres est de 128 ko (65 535 mots (valeurs 16 bits)). Aucune commande de lecture ou d'écriture ne peut dépasser la limite d'une fenêtre vers l'autre. Ainsi, le décalage (troisième registre implicite) plus la longueur (quatrième registre implicite) doit toujours être inférieur ou égal à 128 ko (65 535 mots). 31007524 8/2010 237 DLOG : consignation de données pour support de lecture/écriture PCMCIA Zone de données (partie médiane) Le registre 4x mémorisé en partie médiane est le premier registre d'un bloc continu de registres de mots 4x que l'instruction DLOG utilisera comme source ou cible de la commande définie dans le bloc de contrôle de la partie haute. Opération Référence de mémoire d'état Fonction Ecrire 4x Adresse source Lire 4x Adresse cible Effacer bloc aucune Aucune Effacer carte aucune Aucune Longueur (partie basse) La valeur entière mémorisée en partie basse correspond à la longueur de la zone de données, c.–à–d. le nombre maximum de mots (registres) autorisés au cours d'un transfert vers/depuis la carte flash PCMCIA. La longueur peut varier entre 0 et 100. 238 31007524 8/2010 DLOG : consignation de données pour support de lecture/écriture Traitement des erreurs d'exécution Codes d'erreur Le registre affiché du bloc de contrôle contient les erreurs DLOG suivantes en code Hex. 31007524 8/2010 Code d'erreur au format hexadécimal Contenu 1 Le paramètre de compte du bloc de contrôle > la longueur du bloc DLOG lors d'une commande WRITE (01) 2 Le fonctionnement de la carte PCMCIA a échoué lors du démarrage initial (écriture/lecture/effacement) 3 Le fonctionnement de la carte PCMCIA a échoué lors de l'exécution (écriture/lecture/effacement) 239 DLOG : consignation de données pour support de lecture/écriture PCMCIA 240 31007524 8/2010 DMTH : fonctions mathématiques en double précision 31007524 8/2010 DMTH : fonctions mathématiques en double précision 41 Introduction Ce chapitre décrit les quatre opérations mathématiques en double précision exécutées par l'instruction DMTH, à savoir addition, soustraction, multiplication et division. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Description sommaire 242 Représentation 243 241 DMTH : fonctions mathématiques en double précision Description sommaire Description de la fonction L'instruction Fonctions mathématiques en double précision (DMTH) exécute des additions, des soustractions, des multiplications et des divisions en double précision (définies par la partie basse). DMTH utilise 2 registres ajoutés ensemble pour constituer un opérande. Chaque instruction DMTH utilise les deux mêmes opérandes. OP1 = 4x, 4x + 1 (partie haute) z OP2 = 4y, 4y + 1 (partie médiane) z Codes de fonction L'instruction DMTH exécute l'une des quatre opérations mathématiques en double précision en appelant une fonction. Pour appeler la fonction souhaitée, entrez un code de fonction en partie basse. La plage de codes de fonction est comprise entre 1 et 4. Code Fonction DMTH Fonction exécutée 1 Addition en double précision Addition : (OP1) + (OP 2) (4y + 3, 4y + 4) Registres de résultats 2 Soustraction en double précision Soustraction : (OP1) (OP 2) (4y + 2, 4y + 3) 3 Multiplication en double précision Multiplication : (OP1) * (OP 2) (4y + 2, 4y + 3) 4 Division en double précision Division : (OP1)\(OP 2) (4y + 2, 4y + 3) quotient (4y + 4, 4y + 5) (4y + 4, 4y + 5) reste Remarque : z Pour les nombres répartis dans plusieurs registres, les quatre chiffres de poids faible sont mémorisés dans le registre de sortie le plus haut. z Les résultats, les drapeaux et les restes sont mémorisés dans les registres suivant OP2. z Les registres inutilisés par la fonction mathématique choisie peuvent être utilisés à d'autres fins. z La fonction de soustraction utilise les sorties pour indiquer le résultat de la comparaison entre les opérandes OP1 et OP2. 242 31007524 8/2010 DMTH : fonctions mathématiques en double précision Représentation Présentation Cette rubrique décrit l'addition, la soustraction, la multiplication et la division, à savoir les quatre opérations exécutées par l'instruction DMTH. Chaque opération possède un symbole, représentation graphique de l'instruction, et une description de paramètre, représentation de l'instruction sous forme de tableau. Symbole : addition Représentation de l'instruction pour l'addition Description des paramètres : addition Description des paramètres de l'instruction pour l'addition 31007524 8/2010 Paramètres Référence de mémoire d'état Type de Signification données Entrée haute 0x, 1x Aucun L'état actif additionne les opérandes et place la somme dans les registres désignés. opérande 1 (partie haute) 4x INT, UINT Le premier des deux registres 4xxxx successifs est mémorisé en partie haute. Le deuxième registre 4xxxx est implicite. L'opérande 1 est mémorisé ici. Chaque registre contient une valeur comprise entre 0000 et 9 999, entre 0 et 99 999 999 pour une valeur à double précision combinée. La partie poids fort de l'opérande 1 est mémorisée dans le registre affiché et la partie poids faible dans le registre implicite. 243 DMTH : fonctions mathématiques en double précision Paramètres Référence de mémoire d'état INT, UINT Le premier de six registres 4x successifs est mémorisé en partie médiane. Les cinq registres restants sont implicites : z Le registre affiché et le premier registre implicite mémorisent respectivement les parties poids fort et poids faible de l'opérande 2 pour une valeur à double précision combinée comprise entre 0 et 99 999 999. z La valeur mémorisée dans le second registre implicite indique s'il y a une condition de dépassement (valeur 1 = dépassement). z Les troisième et quatrième registres implicites mémorisent respectivement les parties poids fort et poids faible de la somme double précision. z Le cinquième registre implicite n'est pas utilisé dans le calcul, mais doit exister en mémoire d'état. Sortie haute 0x Aucun Activée = Opération réussie Sortie médiane Aucun Activée = Opérande hors limites ou non valide opérande 2 et somme (partie médiane) 4x Type de Signification données 0x Symbole : soustraction Représentation de l'instruction pour la soustraction 244 31007524 8/2010 DMTH : fonctions mathématiques en double précision Description des paramètres : soustraction Description des paramètres de l'instruction pour la soustraction 31007524 8/2010 Paramètres Référence de mémoire d'état Type de Signification données Entrée haute 0x, 1x Aucun L'état actif soustrait l'opérande 2 de l'opérande 1 et place la différence dans les registres désignés. opérande 1 (partie haute) 4x INT, UINT Le premier des deux registres 4xxxx successifs est mémorisé en partie haute. Le deuxième registre 4xxxx est implicite. L'opérande 1 est mémorisé ici. Chaque registre contient une valeur comprise entre 0000 et 9 999, entre 0 et 99 999 999 pour une valeur à double précision combinée. La partie poids fort de l'opérande 1 est mémorisée dans le registre affiché et la partie poids faible dans le registre implicite. opérande 2 différence (partie médiane) 4x INT, UINT Le premier de six registres 4xxxx successifs est mémorisé en partie médiane. Les cinq registres restants sont implicites : z Le registre affiché et le premier registre implicite mémorisent respectivement les parties poids fort et poids faible de l'opérande 2 pour une valeur à double précision combinée comprise entre 0 et 99 999 999. z La valeur mémorisée dans le second registre implicite indique s'il y a une condition de dépassement (valeur 1 = dépassement). z Les troisième et quatrième registres implicites mémorisent respectivement les parties poids fort et poids faible de la somme double précision. z Le cinquième registre implicite n'est pas utilisé dans le calcul, mais doit exister en mémoire d'état. Sortie haute 0x Aucun Activée = Opérande 1 > opérande 2 Sortie médiane 0x Aucun Activée = Opérande 1 = opérande 2 Sortie basse Aucun Activée = Opérande 1 < opérande 2 0x 245 DMTH : fonctions mathématiques en double précision Symbole : multiplication Représentation de l'instruction pour la multiplication Description des paramètres : multiplication Description des paramètres de l'instruction pour la multiplication Paramètres Référence Type de de mémoire données d'état Entrée haute 0x, 1x opérande 1 (partie haute) 246 4x Signification Aucun Activée = Opérande 1 x opérande 2 et produit placé dans les registres désignés. INT, UINT Le premier des deux registres 4xxxx successifs est mémorisé en partie haute. Le deuxième registre 4xxxx est implicite. L'opérande 1 est mémorisé ici. Le deuxième registre 4x est implicite. Chaque registre contient une valeur comprise entre 0000 et 9 999, entre 0 et 99 999 999 pour une valeur à double précision combinée. La partie poids fort de l'opérande 1 est mémorisée dans le registre affiché et la partie poids faible dans le registre implicite. 31007524 8/2010 DMTH : fonctions mathématiques en double précision Paramètres Référence Type de de mémoire données d'état Signification opérande 2/produit (partie médiane) 4x Le premier de six registres 4xxxx successifs est mémorisé en partie médiane. Les cinq registres restants sont implicites : z Le registre affiché et le premier registre implicite mémorisent respectivement les parties poids fort et poids faible de l'opérande 2 pour une valeur à double précision combinée comprise entre 0 et 99 999 999. z Les quatre derniers registres implicites contiennent le produit double précision compris entre 0 et 9 999 999 999 999 999. INT, UINT Sortie haute 0x Aucun Activée = Opération réussie Sortie médiane 0x Aucun Activée = Opérande hors limites Symbole : division Représentation de l'instruction pour la division 31007524 8/2010 247 DMTH : fonctions mathématiques en double précision Description des paramètres : division Description des paramètres de l'instruction pour la division Paramètres Référence Type de Signification de mémoire données d'état Entrée haute 0x, 1x Aucun Activée = Opérande 1 divisé par opérande 2 et résultat mémorisé dans les registres désignés Entrée médiane 0x, 1x Aucun Activée = Reste décimal. Désactivée = Reste fractionnel opérande 1 (partie haute) 4x INT, UINT Le premier des deux registres 4xxxx successifs est mémorisé en partie haute. Le deuxième registre 4xxxx est implicite. L'opérande 1 est mémorisé ici. Le deuxième registre 4x est implicite. Chaque registre contient une valeur comprise entre 0000 et 9 999, entre 0 et 99 999 999 pour une valeur à double précision combinée. La partie poids fort de l'opérande 1 est mémorisée dans le registre affiché et la partie poids faible dans le registre implicite. 4x opérande 2 quotient reste (partie médiane) INT, UINT Le premier de six registres 4x successifs est mémorisé en partie médiane. Les cinq registres restants sont implicites : z Le registre affiché et le premier registre implicite mémorisent respectivement les parties poids fort et poids faible de l'opérande 2 pour une valeur à double précision combinée comprise entre 0 et 99 999 999. Remarque : La division par zéro n'étant pas valide, une valeur 0 provoquera une erreur. Un programme d'élimination d'erreur met les registres restants de la partie médiane à 0000 et active la sortie basse. z Les deuxième et troisième registres implicites contiennent un quotient à huit chiffres. z Les quatrième et cinquième registres implicites contiennent le reste. Si le reste est exprimé sous la forme d'une fraction, il comporte huit chiffres et les deux registres sont utilisés. S'il est exprimé sous une forme décimale, il comporte quatre chiffres et seul le quatrième registre implicite est utilisé. 248 Sortie haute 0x Aucun Activée = Opération réussie Sortie médiane 0x Aucun Activée = Opérande hors limites Sortie basse 0x Aucun Activée = Opérande 2 égale à 0 31007524 8/2010 DRUM : séquenceur à tambour 31007524 8/2010 DRUM : séquenceur à tambour 42 Introduction Ce chapitre décrit l'instruction DRUM. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 250 Représentation 251 Description des paramètres 253 249 DRUM : séquenceur à tambour Description sommaire Description de la fonction NOTE : Cette instruction n'est disponible que si vous avez décompacté et installé les instructions chargeables DX. Vous trouverez de plus amples informations "Installation des instructions chargeables DX, page 79." L'instruction DRUM opère sur une table de registres 4x contenant des données représentant chaque étape d'une séquence. Le nombre de registres affectés à cette table de données d'étape dépend du nombre d'étapes nécessaires pour la séquence. Vous pouvez prédéterminer des registres pour mémoriser des données pour chaque étape de la séquence, ce qui vous permet d'ajouter des étapes séquenceur futures sans modifier la logique d'application. DRUM intègre un masque de sortie qui vous permet de masquer de manière sélective des bits de données de registre avant de les écrire dans les bobines. Ceci est particulièrement utile lorsque les sorties du séquenceur physique ne sont pas toutes contiguës sur le module de sortie. Les bits masqués ne sont pas modifiés par l'instruction DRUM et peuvent être utilisés par la logique indépendamment du séquenceur. 250 31007524 8/2010 DRUM : séquenceur à tambour Représentation Symbole Représentation de l'instruction *Disponible sur : z les automates E685/785 z les automates L785 z les automates de la série Quantum 31007524 8/2010 251 DRUM : séquenceur à tambour Description des paramètres Description des paramètres de l'instruction Paramètres Référence Type de Signification de mémoire données d'état Entrée haute 0x, 1x Aucun Activée = Déclenche le séquenceur à tambour Entrée médiane 0x, 1x Aucun Activée = Incrémente le pointeur d'étape à l'étape suivante Entrée basse 0x, 1x Aucun Activée = Remet le pointeur d'étape à 0 pointeur d'étape (partie haute) 4x INT, UINT Numéro de l'étape courante table des données d'étape (partie médiane) 4x INT, UINT Premier registre dans la table d'information des données d'étape (Pour plus d'informations, reportez-vous à la section Table des données d'étape (partie médiane), page 253.) INT, UINT Nombre de registres spécifiques à l'application utilisés dans la table des données d'étape, compris entre 1 et 999 Longueur : max. 255 - automate 16 bits max. 999 - automate 24 bits max. 65535 - automate* longueur (partie basse) 252 Sortie haute 0x Aucun Donne une image de l'état de l'entrée haute Sortie médiane 0x Aucun Activée = Valeur du pointeur d'étape = longueur Sortie basse 0x Aucun Activée = Erreur 31007524 8/2010 DRUM : séquenceur à tambour Description des paramètres Pointeur d'étape (partie haute) Le registre 4x mémorisé en partie haute contient le numéro d'étape actuel. La valeur de ce registre est référencée par l'instruction DRUM à chaque fois qu'elle est traitée. Si l'entrée médiane du bloc est activée, le contenu du registre de la partie haute est incrémenté à l'étape suivante de la séquence avant que le bloc ne soit traité. Table des données d'étape (partie médiane) Le registre 4x mémorisé en partie médiane est le premier registre d'une table de données d'étape. Les six premiers registres de la table de données d'étape contiennent des données constantes et variables nécessaires à l'exécution du bloc : Registre Nom Contenu Affiché Données de sortie masquée Chargé par DRUM à chaque résolution du bloc ; contient la valeur du registre de données d'étape en cours masqué par le registre du masque de sortie. Premier implicite Données actuelles de l'étape Chargé par DRUM à chaque résolution du bloc ; contient les données du pointeur d'étape, provoque le calcul automatique par le programme des décalages de registre lors de l'accès aux données d'étapes situées dans la table de données d'étape. Deuxième implicite Masque de sortie Chargé par l'utilisateur avant de se servir du bloc, DRUM ne modifiera pas le contenu du masque de sortie lors du traitement de la logique ; contient un masque à appliquer aux données à chaque étape du séquenceur. Troisième implicite Identificateur machine Identifie les blocs DRUM/ICMP relatifs à une certaine configuration machine ; plage des valeurs : de 0 à 9 999 (0 = bloc non configuré) ; tous les blocs relatifs à la même configuration machine ont le même ID de machine Quatrième Numéro ID du Identifie les données de profil actuellement chargées dans le implicite profil séquenceur ; plage de valeur : de 0 à 9 999 (0 = bloc non configuré) ; tous les blocs ayant le même ID de machine doivent avoir le même ID de profil Cinquième Etapes implicite utilisées Chargé par l'utilisateur avant l'utilisation du bloc, DRUM ne modifiera pas le contenu des étapes utilisées lors du traitement de la logique ; valeur entre 1 et 999 pour les UC 24 bits, donnant le nombre actuel d'étapes à traiter ; le nombre doit être supérieur ou inférieur à la longueur de la table en partie basse Les registres restants contiennent les données de chaque étape de la séquence. 31007524 8/2010 253 DRUM : séquenceur à tambour Longueur (partie basse) Le nombre entier mémorisé en partie basse correspond à la longueur, c.–à–d. au nombre de registres spécifiques à l'application utilisé dans la table de données d'étape. La longueur peut varier entre 1 et 999 dans une UC 24 bits. Le nombre total de registres nécessaires dans la table de données d'étape est égal à la longueur + 6. La longueur doit être supérieure ou égale à la valeur placée dans le registre d'étapes utilisé en partie médiane. 254 31007524 8/2010 DV16 : division de valeurs 16 bits 31007524 8/2010 DV16 : division de valeurs 16 bits 43 Introduction Ce chapitre décrit l'instruction DV16. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Description sommaire 256 Représentation 257 Exemple 259 255 DV16 : division de valeurs 16 bits Description sommaire Description de la fonction L'instruction DV16 effectue une division signée ou non signée des valeurs 16 bits en partie haute et médiane (valeur 1 / valeur 2), et mémorise le quotient et le reste dans deux registres de sortie 4x successifs en partie basse. 256 31007524 8/2010 DV16 : division de valeurs 16 bits Représentation Symbole Représentation de l'instruction 31007524 8/2010 257 DV16 : division de valeurs 16 bits Description des paramètres Description des paramètres de l'instruction 258 Paramètres Référence de Type de mémoire données d'état Entrée haute Signification 0x, 1x Aucun Activée = Déclenche valeur 1/valeur 2 Entrée médiane 0x, 1x Aucun Activée = Reste décimal Désactivée = Reste fractionnel Entrée basse 0x, 1x Aucun Activée = Opération signée Désactivée = Opération non signée valeur 1 (partie haute) 3x, 4x INT, UINT Dividende, peut être affiché explicitement sous forme d'entier (de 1 à 65535) ou mémorisé dans deux registres successifs (affiché pour la partie poids fort, implicite pour la partie poids faible) valeur 2 (partie médiane) 3x, 4x INT, UINT Diviseur, peut être affiché explicitement sous forme d'entier (de 1 à 65535, saisir par exemple #65535) ou mémorisé dans un registre quotient (partie basse) 4x INT, UINT Le premier de deux registres de sortie successifs : affiché : résultat de la division implicite : reste (sous forme décimale ou de fractionnelle, selon l'état de l'entrée médiane) Sortie haute 0x Aucun Activée = Opération de division réussie Sortie médiane 0x Aucun Activée = Dépassement : quotient > 65 535 dans une opération non signée -32 768 > quotient > 32 767 dans une opération signée Sortie basse 0x Aucun Erreur 31007524 8/2010 DV16 : division de valeurs 16 bits Exemple Quotient de l'instruction DV16 L'état de l'entrée médiane indique si le reste sera exprimé sous forme décimale ou sous la forme d'une fraction. Par exemple, lorsque l'entrée médiane est active et que la valeur 1 = 8 et la valeur 2 = 3, le quotient a une valeur de 2 dans le registre Résultat et une valeur de 6666 dans le registre Reste. 31007524 8/2010 259 DV16 : division de valeurs 16 bits 260 31007524 8/2010 Description des instructions (E) 31007524 8/2010 Description des instructions (E) III Introduction Dans cette section, toutes les instructions décrites commencent par la lettre E. Contenu de cette partie Cette partie contient les chapitres suivants : Chapitre 31007524 8/2010 Titre du chapitre Page 44 EARS : système d'enregistrement d'alarme événementielle 263 45 EMTH : fonctions mathématiques étendues 273 46 EMTH-ADDDP : addition en double précision 281 47 EMTH-ADDFP : addition virgule flottante 287 48 EMTH-ADDIF : addition entier + virgule flottante 293 49 EMTH-ANLOG: antilogarithme en base 10 297 50 EMTH-ARCOS : arccosinus à virgule flottante d'un angle (en radians) 303 51 EMTH-ARSIN : arcsinus à virgule flottante d'un angle (en radians) 309 52 EMTH-ARTAN : arctangente à virgule flottante d'un angle (en radians) 315 53 EMTH-CHSIN : changement du signe d'un nombre à virgule flottante 321 54 EMTH-CMPFP : comparaison à virgule flottante 327 55 EMTH-CMPIF : comparaison entier-virgule flottante 333 56 EMTH-CNVDR : conversion à virgule flottante de degrés en radians 339 57 EMTH-CNVFI : conversion virgule flottante en entier 345 58 EMTH-CNVIF : conversion d'entier en virgule flottante 351 59 EMTH-CNVRD : conversion en virgule flottante de radians en degrés 357 261 Description des instructions (E) Chapitre 60 262 Titre du chapitre EMTH-COS : cosinus à virgule flottante d'un angle (en radians) Page 363 61 EMTH-DIVDP : division en double précision 369 62 EMTH-DIVFI : nombre à virgule flottante divisé par entier 375 63 EMTH-DIVFP : division à virgule flottante 379 64 EMTH-DIVIF : entier divisé par nombre à virgule flottante 383 65 EMTH-ERLOG : consignation d'erreurs à virgule flottante 387 66 EMTH-EXP : fonction exponentielle à virgule flottante 393 67 EMTH-LNFP : logarithme népérien à virgule flottante 399 68 EMTH-LOG : logarithme en base 10 405 69 EMTH-LOGFP : logarithme en base 10 à virgule flottante 411 70 EMTH-MULDP : multiplication en double précision 417 71 EMTH-MULFP : multiplication à virgule flottante 423 72 EMTH-MULIF : multiplication Entier x Nombre à virgule flottante 427 73 EMTH-PI : chargement de la valeur à virgule flottante de "Pi" 433 74 EMTH-POW : élévation d'un nombre à virgule flottante à une puissance entière 439 75 EMTH-SINE : sinus à virgule flottante d'un angle (en radians) 445 76 EMTH-SQRFP : racine carrée à virgule flottante 451 77 EMTH-SQRT : racine carrée à virgule flottante 457 78 EMTH-SQRTP : racine carrée procédé 463 79 EMTH-SUBDP : soustraction en double précision 469 80 EMTH-SUBFI : soustraction virgule flottante – entier 475 81 EMTH-SUBFP : soustraction à virgule flottante 479 82 EMTH-SUBIF : soustraction entier – virgule flottante 483 83 EMTH-TAN : tangente à virgule flottante d'un angle (en radians) 487 84 ESI : prise en charge du module ESI 491 85 EUCA : conversion d'unités physiques et alarmes 513 31007524 8/2010 EARS : système d'enregistrement d'alarme événementielle 31007524 8/2010 EARS : système d'enregistrement d'alarme événementielle 44 Introduction Ce chapitre décrit l'instruction EARS. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 264 Représentation 265 Description des paramètres 268 263 EARS : système d'enregistrement d'alarme événementielle Description sommaire Description de la fonction Le bloc EARS est chargé dans un automate utilisé dans un système d'enregistrement d'alarme événementielle. Avec un système EARS, l'automate doit être utilisé conjointement avec une interface homme-machine hôte exécutant un progiciel hors ligne spécifique. L'automate contrôle un groupe spécifique d'événements à la recherche des changements d'état éventuels et consigne les données de modification dans un tampon. Les données sont ensuite supprimées par l'hôte sur un réseau haute vitesse tel que Modbus Plus. Les deux appareils respectent un protocole de transmission défini assurant que toutes les données détectées par un automate sont représentées avec précision dans l'hôte. Fonctions d'automate dans un système d'enregistrement d'alarme événementielle Lorsqu'un automate est utilisé dans un environnement EARS, il est configuré pour gérer et contrôler deux tables de registres 4xxxx, l'une contenant l'état courant d'un ensemble d'événements définis par l'utilisateur et l'autre l'historique de l'état le plus récent de ces événements. L'état des événements est mémorisé sous la forme binaire dans les registres 4xxxx, une valeur de bit égale à 1 correspondant à l'état actif tandis qu'une valeur de 0 fait référence à un état repos. Chaque table peut contenir jusqu'à 62 registres, vous permettant de surveiller l'état de 992 événements maximum. Lorsque l'automate détecte une modification entre le bit d'état courant et le bit d'historique d'un événement, l'instruction EARS prépare un message de deux mots et le place dans un tampon où il peut être transféré vers une IHM d'hôte. Ce message contient : un horodatage représentant l'intervalle entre minuit et 24.00 en dixièmes de seconde, z un drapeau de transition indiquant que l'événement constitue une transition positive ou négative par rapport à l'état de l'événement, z un numéro indiquant l'événement qui s'est produit. z Interaction de l'hôte vers l'automate L'IHM de l'hôte doit être capable de lire et d'écrire des registres de données de l'automate via le protocole Modbus. Un protocole de transmission assure l'intégrité entre l'hôte et le tampon circulaire exécuté dans l'automate. Ainsi, l'hôte peut recevoir des événements de manière asynchrone du tampon à une vitesse adaptée tandis que l'automate détecte des modifications au niveau des événements et charge le tampon à la fréquence de cycle la plus rapide. 264 31007524 8/2010 EARS : système d'enregistrement d'alarme événementielle Représentation Symbole Représentation de l'instruction Description des paramètres Description des paramètres de l'instruction Paramètres 31007524 8/2010 Référence de mémoire d'état Type de Signification données Entrée haute 0x, 1x Aucun Activée = Synchronisation effectuée (si nécessaire), contrôle de la validation effectué et opérations EARS en cours Désactivée = Synchronisation effectuée (si nécessaire) et transactions en cours terminées Entrée basse 0x, 1x Aucun Réinitialisation du tampon : la table d'événements et les pointeurs de la partie haute sont remis à zéro 265 EARS : système d'enregistrement d'alarme événementielle Paramètres Référence de mémoire d'état Type de Signification données 4x pointeur de la table d'état/table historique (partie haute) INT, UINT Le registre 4xxxx entré dans la partie haute est le premier de 64 registres successifs. Les deux premiers registres contiennent des valeurs indiquant l'emplacement et la taille de la table d'état courante. Pour plus d'informations, reportez-vous à la section Table de registres (partie haute), page 268. Les 61 registres restants sont disponibles pour mémoriser les données de l'historique. Si tous les registres restants ne sont pas nécessaires pour la table historique, ils peuvent être utilisés ailleurs dans le programme dans un autre objectif. Cependant, vous pouvez les trouver (grâce à une recherche Modbus) dans la partie haute du bloc EARS. 4x INT, UINT Le registre 4xxxx entré dans la partie médiane est le premier d'une série de registres successifs utilisés comme table de tampons. Les cinq premiers registres sont utilisés comme suit et le reste contient le tampon circulaire. Le tampon circulaire utilise un nombre pair de registres compris entre 2 et 100. Pour plus d'informations, reportez-vous à la rubrique Table de registres de données (partie médiane), page 269. L'horodatage est codé au format 20 bits en tant que valeur pondérée binaire représentant le temps par incrément de 0,1 seconde, à partir de minuit le jour où la modification de l'état a été détectée : z 1 heure = 3 600 secondes = 36 000 dixièmes de seconde z 24 heures = 86 400 secondes = 864 000 dixièmes de seconde table de tampons (partie médiane) Remarque : La résolution de l'horloge en temps réel des automates montés sur châssis est d'un dixième de seconde. Cependant, la résolution de l'horloge des autres 984 n'est que d'une seconde. Un algorithme est utilisé dans EARS afin d'assurer une meilleure résolution au dixième de seconde près. Il est précis pour l'intervalle de temps relatif entre les événements. En revanche, il peut exister une légère différence par rapport à l'horloge temps réel. 266 31007524 8/2010 EARS : système d'enregistrement d'alarme événementielle Paramètres Référence de mémoire d'état longueur (partie basse) 31007524 8/2010 Type de Signification données INT, UINT Le nombre entier mémorisé en partie basse indique la longueur, c.-à-d. le nombre réel de registres alloués au tampon circulaire. La longueur peut varier entre 2 et 100.Chaque événement doit être associé à deux registres pour le stockage de données. Ainsi, pour intercepter 25 événements à un moment quelconque dans le tampon, affectez une longueur de 50 dans la partie basse. Sortie haute 0x Aucun Activée = Données dans le tampon Transmet le courant lorsque des données sont dans la file d'attente Sortie médiane 0x Aucun Activée pour un cycle suivant l'accusé de réception de la communication par l'hôte Transmet le courant pour un cycle après l'obtention d'une réponse de l'hôte Sortie basse 0x Aucun Tampon plein : aucun événement ne peut être ajouté tant que l'hôte n'en a pas déchargé une partie ou que le tampon n'a pas été réinitialisé Transmet le courant lorsque la file d'attente est pleine. Aucun événement supplémentaire ne peut être ajouté. 267 EARS : système d'enregistrement d'alarme événementielle Description des paramètres Présentation Cette rubrique fournit des informations supplémentaires sous forme de tables concernant les parties haute et médiane, et la partie médiane fournit encore des informations supplémentaires présentées dans trois tables correspondantes. Cette rubrique comprend donc les cinq tables suivantes : Table de registres (partie haute) z Table de registres de données (partie médiane) z Table de codes d'état/d'erreur z Table de données de modification d'événement z Table de valeurs pondérées binaires z Table de registres (partie haute) Il s'agit de la table de registres de la partie haute d'EARS. 268 Registre Contenu 4x Pointeur indirect de la table d'état actuelle. Par exemple, si le registre contient la valeur 5, la table d'état commence au registre 40005 ; le registre du pointeur indirect doit être défini dans le programme par le programmateur. 4x+1 Contient une valeur comprise entre 1 et 62 indiquant le nombre de registres dans la table d'état actuelle ; cette valeur doit être définie dans le programme par le programmateur. 4x+2 Premier registre du tableau historique. Les registres restants alloués à la partie haute peuvent être utilisés dans la table si nécessaire ; le tableau historique permet de contrôler jusqu'à 992 événements successifs (si 16 bits sont utilisés dans tous les 62 registres disponibles). 31007524 8/2010 EARS : système d'enregistrement d'alarme événementielle Table de registres de données (partie médiane) Il s'agit de la table de registres de données de la partie médiane d'EARS. Registre Contenu 4x Valeur qui définit le nombre maximum de registres que le tampon circulaire peut occuper. 4x+1 Pointeur de prise de file d'attente : pointeur vers le prochain registre où l'hôte supprimera des données. 4x+2 L'octet de poids faible contient le pointeur de mise en file d'attente vers le registre du tampon circulaire où le bloc EARS commencera à placer les prochaines données de changement d'état. L'octet de poids fort contient le dernier numéro de transaction reçu. 4x+3 Le comptage de la file d'attente permet d'obtenir le nombre de mots présents dans le tampon circulaire. 4x+4 Le registre 4x+4 donne les informations d'état/d'erreur. Pour plus d'informations sur les codes et les messages d'état/d'erreur, reportez-vous à la table de codes d'état/d'erreur ci-dessous. 4x+5 Le registre 4x+5 z donne les données de modification d'événement ; z est le premier registre d'un tampon circulaire ; z est le lieu de stockage des données de modification d'événement. Chaque modification de l'état des événements produit deux registres successifs (cf. table de données de modification d'événement ci-dessous). Table de codes d'état/d'erreur Table de codes d'état/d'erreur pour le registre 4x+4 de la partie médiane. Cette table fournit des informations supplémentaires sur le registre 4x+4 de la partie médiane. Le numéro de code affiché représente une condition existante. 31007524 8/2010 Code Etat 1 Longueur de bloc non valide 2 Requête d'horloge non valide 3 Configuration d'horloge non valide 4 Longueur d'état non valide 5 Mise en file d'attente non valide 6 Prise de file d'attente non valide 7 Etat non valide 8 Comptage de file d'attente non valide 9 Numéro de séquence non valide 10 Comptage supprimé 255 Puce de l'horloge défectueuse 269 EARS : système d'enregistrement d'alarme événementielle Table de données de modification d'événement En cas de modification du registre 4x+5, ce registre produit deux registres successifs. Cette rubrique présente leur mode d'utilisation. Registre de données événementielles 1 L'utilisation des bits est présentée dans la table ci-dessous. Bit Utilisation 1-4 Quatre bits de poids fort de l'horodatage des événements 5 Type d'événement de transition 0 = Négatif 1 = Positif 6 Réservé 7 - 16 Numéro d'événement (1 à 992) Registre de données événementielles 2 L'utilisation des bits est présentée dans la table ci-dessous. Bit Utilisation 1 - 16 Seize bits de poids faible de l'horodatage des événements L'horodatage est codé au format 20 bits en tant que valeur pondérée binaire représentant le temps par incrément de 0,1 seconde (dixièmes de seconde), à partir de minuit le jour où la modification de l'état a été détectée. z 1 heure = 3 600 secondes = 36 000 dixièmes de seconde z 24 heures = 86 400 secondes = 864 000 dixièmes de seconde Pour plus d'informations sur les valeurs pondérées binaires de l'horodatage, reportez-vous à la table des valeurs pondérées binaires ci-dessous. 270 31007524 8/2010 EARS : système d'enregistrement d'alarme événementielle Table de valeurs pondérées binaires Registre de données événementielles 1 (quartet de poids fort [4 bits]) Registre de données événementielles 2 La table suivante présente les valeurs pondérées binaires de l'horodatage, avec n désignant la position relative du bit dans un plan horaire de 20 bits. 2n n 2n n 2n n 1 0 256 8 65536 16 2 1 512 9 131072 17 4 2 1024 10 262144 18 8 3 2048 11 524288 19 16 4 4096 12 32 5 8192 13 64 6 16384 14 128 7 32768 15 NOTE : La résolution de l'horloge en temps réel des automates à UC de type modulaire est d'un dixième de seconde. Cependant, la résolution de celle des autres 984 n'est que d'une seconde. EARS comprend un algorithme qui fournit la meilleure estimation d'une résolution d'un dixième de seconde. L'estimation algorithmique est précise dans les intervalles de temps relatif entre les événements, mais peut varier légèrement par rapport à l'horloge en temps réel. 31007524 8/2010 271 EARS : système d'enregistrement d'alarme événementielle 272 31007524 8/2010 EMTH : fonctions mathématiques étendues 31007524 8/2010 EMTH : fonctions mathématiques étendues 45 Introduction Ce chapitre décrit l'instruction EMTH. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 274 Représentation 275 Description des paramètres 277 Fonctions EMTH en virgule flottante 279 273 EMTH : fonctions mathématiques étendues Description sommaire Description de la fonction Cette instruction permet d'accéder à une bibliothèque de fonctions mathématiques en double précision, de calculs de racine carrée et de logarithme, et de fonctions arithmétiques en virgule flottante (VF). L'instruction EMTH vous permet de choisir dans une bibliothèque parmi 38 fonctions mathématiques étendues. Chacune des fonctions est pourvue d'un témoin alphabétique de sous–fonctions variables pouvant être sélectionné dans un menu déroulant de votre logiciel de console et qui apparaît en partie basse. Les entrées et sorties de commande EMTH dépendent de la fonction. 274 31007524 8/2010 EMTH : fonctions mathématiques étendues Représentation Symbole Représentation de l'instruction 31007524 8/2010 275 EMTH : fonctions mathématiques étendues Description des paramètres Description des paramètres de l'instruction Paramètres Référence Type de Signification de mémoire données d'état Entrée haute 0x, 1x Aucun Dépend de la fonction EMTH que vous sélectionnez. Voir "Entrées, sorties et partie basse, page 277". Entrée médiane 0x, 1x Aucun Dépend de la fonction EMTH que vous sélectionnez Entrée basse 0x, 1x Aucun Dépend de la fonction EMTH que vous sélectionnez partie haute 3x, 4x DINT, UDINT, REAL Deux registres successifs, généralement des registres de sortie 4x mais dans le cas des opérations mathématiques sur entiers, soit des registres 4x, soit des registres 3x partie médiane 4x DINT, UDINT, REAL Deux, quatre ou six registres successifs, selon la fonction que vous mettez en application sous-fonction (partie basse) 276 Etiquette alphabétique identifiant la fonction EMTH. Voir "Entrées, sorties et partie basse, page 277". Sortie haute 0x Aucun Dépend de la fonction EMTH que vous sélectionnez. Voir "Entrées, sorties et partie basse, page 277". Sortie médiane 0x Aucun Dépend de la fonction EMTH que vous sélectionnez Sortie basse 0x Aucun Dépend de la fonction EMTH que vous sélectionnez 31007524 8/2010 EMTH : fonctions mathématiques étendues Description des paramètres Entrées, sorties et partie basse La mise en œuvre des entrées et des sorties du bloc dépend de la sous-fonction EMTH que vous sélectionnez. Un témoin alphabétique des sous–fonctions variables apparaît en partie basse, identifiant la fonction EMTH que vous avez choisie dans la bibliothèque. Vous trouverez les sous-fonctions EMTH dans les tableaux suivants. z Fonctions mathématiques en double précision z Fonctions mathématiques sur entiers z Fonctions mathématiques en virgule flottante Sous-fonctions mathématiques en double précision Fonctions mathématiques en double précision Fonction EMTH Sousfonction Entrées actives Sorties actives Addition ADDDP Haute Haute et médiane Soustraction SUBDP Haute Haute, médiane et basse Multiplication MULDP Haute Haute et médiane Division DIVDP Haute et médiane Haute, médiane et basse Entrées actives Sorties actives Sous-fonctions mathématiques sur entiers Fonctions mathématiques sur entiers Fonction EMTH Sousfonction Racine carrée SQRT Haute Haute et médiane Racine carrée procédé SQRTP Haute Haute et médiane Logarithme LOG Haute Haute et médiane Antilogarithme ANLOG Haute Haute et médiane Sous-fonctions mathématiques en virgule flottante 31007524 8/2010 Fonction EMTH Sousfonction Entrées actives Sorties actives Conversion entier-virgule flottante CNVIF Haute Haute Entier + virgule flottante ADDIF Haute Haute 277 EMTH : fonctions mathématiques étendues 278 Fonction EMTH Sousfonction Entrées actives Sorties actives Entier - virgule flottante SUBIF Haute Haute Entier x virgule flottante MULIF Haute Haute Entier / virgule flottante DIVIF Haute Haute Virgule flottante - Entier SUBFI Haute Haute Virgule flottante / Entier DIVFI Haute Haute Comparaison entiervirgule flottante CMPIF Haute Haute Conversion virgule flottante-entier CNVFI Haute Haute et médiane Addition ADDFP Haute Haute Soustraction SUBFP Haute Haute Multiplication MULFP Haute Haute Division DIVFP Haute Haute Comparaison CMPFP Haute Haute, médiane et basse Racine carrée SQRFP Haute Haute Changement de signe CHSIN Haute Haute Charger valeur de p PI Haute Haute Sinus en radians SINE Haute Haute Cosinus en radians COS Haute Haute Tangente en radians TAN Haute Haute Arcsinus en radians ARSIN Haute Haute Arccosinus en radians ARCOS Haute Haute Arctangente en radians ARTAN Haute Haute Radians en degrés CNVRD Haute Haute Degrés en radians CNVDR Haute Haute Virgule flottante à une puissance entière POW Haute Haute Fonction exponentielle EXP Haute Haute Logarithme népérien LNFP Haute Haute Logarithme à base 10 LOGFP Haute Haute Erreurs de rapport ERLOG Haute Haute et médiane 31007524 8/2010 EMTH : fonctions mathématiques étendues Fonctions EMTH en virgule flottante Utilisation des fonctions en virgule flottante Pour utiliser la fonction virgule flottante (VF), il faut convertir au format IEEE en virgule flottante les valeurs à 4 chiffres utilisées dans les instructions standard du groupe Math. Tous les calculs sont alors effectués au format VF, et les résultats doivent être reconvertis au format entier. Norme IEEE de virgule flottante Les fonctions EMTH en virgule flottante nécessitent des valeurs au format IEEE de 32 bits. Deux registres sont affectés à chaque valeur, les huit bits de poids fort représentent l'exposant et les 23 autres bits (plus un bit implicite) représentent la mantisse et le signe de la valeur. NOTE : Les calculs en virgule flottante ont une définition de mantisse de 24 bits, garantissant la précision des sept chiffres de poids fort. La précision du huitième chiffre dans un calcul en VF peut être inexacte. Il est quasiment impossible de reconnaître une représentation VF sur la console de programmation. Tous les nombres devraient donc de ce fait être reconvertis au format entier avant d'essayer de les lire. Nombres négatifs à virgule flottante Les calculs mathématiques standard sur entiers ne traitent pas les nombres négatifs explicitement. Le seul moyen d'identifier des valeurs négatives est de constater que le bloc fonction SUB a activé la sortie basse. Si un tel nombre négatif est converti en virgule flottante, effectuez la conversion Entier-Virgule flottante (sous-fonction EMTH CNVIF), puis utilisez la fonction Changement de signe (fonction EMTH CHSIN) pour le rendre négatif avant d'effectuer un autre calcul en virgule flottante. 31007524 8/2010 279 EMTH : fonctions mathématiques étendues 280 31007524 8/2010 EMTH-ADDDP : addition en double précision 31007524 8/2010 EMTH-ADDDP : addition en double précision 46 Introduction Ce chapitre décrit la sous-fonction EMTH-ADDDP. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 282 Représentation 283 Description des paramètres 285 281 EMTH-ADDDP : addition en double précision Description sommaire Description de la fonction Cette instruction est une sous–fonction de l'instruction EMTH. Elle fait partie de la catégorie "Fonctions mathématiques en double précision." 282 31007524 8/2010 EMTH-ADDDP : addition en double précision Représentation Symbole Représentation de l'instruction 31007524 8/2010 283 EMTH-ADDDP : addition en double précision Description des paramètres Description des paramètres de l'instruction Paramètres Référence de mémoire d'état Type de données Signification Entrée haute 0x, 1x Aucun Activée = Additionne les opérandes et place la somme dans les registres désignés opérande 1 (partie haute) 4x DINT, UDINT Opérande 1 (le premier de deux registres successifs) Le premier des deux registres 4xxxx successifs est mémorisé en partie haute. Le deuxième registre 4xxxx est implicite. L'opérande 1 est mémorisé ici. Chaque registre contient une valeur comprise entre 0000 et 9 999, entre 0 et 99 999 999 pour une valeur à double précision combinée. La partie poids fort de l'opérande 1 est mémorisée dans le registre affiché et la partie poids faible dans le registre implicite. opérande 2 et somme (partie médiane) 4x DINT, UDINT Opérande 2 et somme (le premier de six registres successifs) Le premier de six registres 4xxxx successifs est mémorisé en partie médiane. Les cinq registres restants sont implicites : z Le registre affiché et le premier registre implicite mémorisent respectivement les parties poids fort et poids faible de l'opérande 2 pour une valeur à double précision combinée comprise entre 0 et 99 999 999. z La valeur mémorisée dans le second registre implicite indique s'il y a une condition de dépassement (valeur 1 = dépassement). z Les troisième et quatrième registres implicites mémorisent respectivement les parties poids fort et poids faible de la somme double précision. z Le cinquième registre implicite n'est pas utilisé dans le calcul, mais doit exister en mémoire d'état. ADDDP (partie basse) 284 Sélection de la sous-fonction ADDDP Sortie haute 0x Aucun Activée = Opération réussie Sortie médiane 0x Aucun Activée = Opérande hors limites ou non valide 31007524 8/2010 EMTH-ADDDP : addition en double précision Description des paramètres Opérande 1 (partie haute) Le premier des deux registres 4x successifs est mémorisé en partie haute. Le deuxième registre 4x est implicite. L'opérande 1 est mémorisé ici. Registre Contenu Affiché Le registre contient la partie poids faible de l'opérande 1. Plage 0 à 9.999, permettant d'obtenir une valeur double précision combinée comprise entre 0 et 99 999 999. Premier implicite Le registre contient la partie poids fort de l'opérande 1 Plage 0 à 9.999, permettant d'obtenir une valeur double précision combinée comprise entre 0 et 99.999.999. Opérande 2 et somme (partie médiane) Le premier de six registres 4x successifs est mémorisé en partie médiane. Les cinq registres restants sont implicites : 31007524 8/2010 Registre Contenu Affiché Le registre contient la partie poids faible de l'opérande 2, respectivement, permettant d'obtenir une valeur double précision combinée comprise entre 0 et 99.999.999. Premier implicite Le registre contient la partie poids fort de l'opérande 2, respectivement, permettant d'obtenir une valeur double précision combinée comprise entre 0 et 99.999.999. Deuxième implicite La valeur mémorisée dans ce registre indique s'il y a une condition de dépassement (valeur 1 = dépassement). Troisième implicite Le registre mémorise la partie poids faible de la somme double précision. Quatrième implicite Le registre mémorise la partie poids fort de la somme double précision. Cinquième implicite Ce registre n'est pas utilisé dans le calcul, mais doit exister en mémoire d'état. 285 EMTH-ADDDP : addition en double précision 286 31007524 8/2010 EMTH-ADDFP : addition virgule flottante 31007524 8/2010 EMTH-ADDFP : addition virgule flottante 47 Introduction Ce chapitre décrit la sous-fonction EMTH-ADDFP. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 288 Représentation 289 Description des paramètres 291 287 EMTH-ADDFP : addition virgule flottante Description sommaire Description de la fonction Cette instruction est une sous–fonction de l'instruction EMTH. Elle fait partie de la catégorie "Fonctions mathématiques en virgule flottante." 288 31007524 8/2010 EMTH-ADDFP : addition virgule flottante Représentation Symbole Représentation de l'instruction 31007524 8/2010 289 EMTH-ADDFP : addition virgule flottante Description des paramètres Description des paramètres de l'instruction Paramètres Référence Type de de mémoire données d'état Entrée haute 0x, 1x Aucun Activée = Valide l'addition VF valeur 1 (partie haute) 4x REAL Valeur 1 à virgule flottante (le premier de deux registres successifs) Le premier des deux registres 4xxxx successifs est mémorisé en partie haute. Le deuxième registre est implicite. La valeur 1 VF de l'addition est mémorisée ici. valeur 2 et somme (partie médiane) 4x REAL Valeur 2 à virgule flottante et somme (le premier de quatre registres successifs) Le premier des quatre registres 4xxxx successifs est mémorisé en partie médiane. Les trois registres restants sont implicites. La valeur 2 VF est mémorisée dans le registre affiché et dans le premier registre implicite. Le résultat de l'addition est mémorisé au format VF dans les deuxième et troisième registres implicites. ADDFP (partie basse) Sortie haute 290 Signification Sélection de la sous-fonction ADDFP 0x Aucun Activée = Opération réussie 31007524 8/2010 EMTH-ADDFP : addition virgule flottante Description des paramètres Valeur 1 en virgule flottante (partie haute) Le premier des deux registres 4x successifs est mémorisé en partie haute. Le deuxième registre est implicite. Registre Contenu Affiché Premier implicite Les registres mémorisent la valeur 1 en virgule flottante. Valeur 2 en virgule flottante et somme (partie médiane) Le premier des quatre registres 4x successifs est mémorisé en partie médiane. Les trois registres restants sont implicites 31007524 8/2010 Registre Contenu Affiché Premier implicite Les registres mémorisent la valeur 2 en virgule flottante. Deuxième implicite Troisième implicite Les registres mémorisent le résultat de l'addition au format VF. 291 EMTH-ADDFP : addition virgule flottante 292 31007524 8/2010 EMTH-ADDIF : addition entier + virgule flottante 31007524 8/2010 EMTH-ADDIF : addition entier + virgule flottante 48 Introduction Ce chapitre décrit la sous-fonction EMTH-ADDIF. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 294 Représentation 295 Description des paramètres 296 293 EMTH-ADDIF : addition entier + virgule flottante Description sommaire Description de la fonction Cette instruction est une sous–fonction de l'instruction EMTH. Elle fait partie de la catégorie "Fonctions mathématiques en virgule flottante." 294 31007524 8/2010 EMTH-ADDIF : addition entier + virgule flottante Représentation Symbole Représentation de l'instruction Description des paramètres Description des paramètres de l'instruction Paramètres Référence Type de de mémoire données d'état Entrée haute 0x, 1x Signification Aucun Activée = Déclenche l'opération entier + VF entier 4x (partie haute) DINT, UDINT Valeur entière (le premier de deux registres successifs) Le premier des deux registres 4xxxx successifs est mémorisé en partie haute. Le deuxième registre est implicite. La valeur entière double précision à ajouter à la valeur VF est mémorisée ici. VF et somme 4x (partie médiane) REAL valeur VF et somme (le premier de quatre registres successifs) Le premier des quatre registres 4xxxx successifs est mémorisé en partie médiane. Les trois registres restants sont implicites. Le registre affiché et le premier registre implicite mémorisent la valeur VF à ajouter à l'opération, la somme étant placée dans les deuxième et troisième registres implicites. La somme est placée au format VF. ADDIF (partie basse) Sortie haute 31007524 8/2010 Sélection de la sous-fonction ADDIF 0x Aucun Activée = Opération réussie 295 EMTH-ADDIF : addition entier + virgule flottante Description des paramètres Valeur entière (partie haute) Le premier des deux registres 4x successifs est mémorisé en partie haute. Le deuxième registre est implicite. Registre Contenu Affiché Premier implicite La valeur entière double précision à ajouter à la valeur VF est mémorisée ici. Valeur VF et somme (partie médiane) Le premier des quatre registres 4x successifs est mémorisé en partie médiane. Les trois registres restants sont implicites Registre Contenu Affiché Premier implicite Les registres mémorisent la valeur VF à additionner dans l'opération. Deuxième implicite La somme est placée au format VF. Troisième implicite 296 31007524 8/2010 EMTH-ANLOG : antilogarithme en base 10 31007524 8/2010 EMTH-ANLOG: antilogarithme en base 10 49 Introduction Ce chapitre décrit la sous-fonction EMTH-ANLOG. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 298 Représentation 299 Description des paramètres 301 297 EMTH-ANLOG : antilogarithme en base 10 Description sommaire Description de la fonction Cette instruction est une sous–fonction de l'instruction EMTH. Elle fait partie de la catégorie "Fonctions mathématiques sur entiers." 298 31007524 8/2010 EMTH-ANLOG : antilogarithme en base 10 Représentation Symbole Représentation de l'instruction 31007524 8/2010 299 EMTH-ANLOG : antilogarithme en base 10 Description des paramètres Description des paramètres de l'instruction Paramètres Référence de mémoire d'état Type de Signification données Entrée haute 0x, 1x Aucun Activée = Déclenche l'opération antilog(x) source (partie haute) 3x, 4x INT, UINT Valeur source La partie haute est un seul registre de sortie 4xxxx ou un registre d'entrée 3xxxx. La valeur source (valeur sur laquelle le calcul antilog sera effectué) est mémorisée ici au format décimal fixe 1,234. Elle doit être comprise entre 0 et 7 999, représentant une valeur source de 7,999 au maximum. résultat (partie médiane) 4x DINT, UDINT Résultat (le premier de deux registres successifs) Le premier des deux registres 4xxxx successifs est mémorisé en partie médiane. Le deuxième registre est implicite. Le résultat du calcul de l'antilog est placé ici au format décimal fixe 12345678. Les bits de poids fort sont placés dans le registre affiché tandis que les registres de poids faible sont placés dans le registre implicite. La plus grande valeur antilog pouvant être calculée est 99770006 (9977 placée dans le registre affiché et 0006 placée dans le registre implicite). ANLOG (partie basse) 300 Sélection de la sous-fonction ANLOG Sortie haute 0x Aucun Activée = Opération réussie Sortie médiane 0x Aucun Activée = Erreur ou valeur hors limites 31007524 8/2010 EMTH-ANLOG : antilogarithme en base 10 Description des paramètres Valeur source (partie haute) La partie haute est un seul registre de sortie 4x ou un registre d'entrée 3x. La valeur source, c.-à-d. la valeur sur laquelle le calcul antilog sera effectué, est mémorisée ici au format décimal fixe 1.234. Elle doit être comprise entre 0 et 7999, représentant une valeur source de 7.999 au maximum. Résultat (partie médiane) Le premier des deux registres 4x successifs est mémorisé en partie médiane. Le deuxième registre est implicite. Le résultat du calcul de l'antilog est placé ici au format décimal fixe 12345678 : Registre Contenu Affiché Bits de poids fort Premier implicite Bits de poids faible La plus grande valeur antilog pouvant être calculée est 99770006 (9977 placée dans le registre affiché et 0006 placée dans le registre implicite). 31007524 8/2010 301 EMTH-ANLOG : antilogarithme en base 10 302 31007524 8/2010 EMTH-ARCOS : arccosinus à virgule flottante d'un angle (en radians) 31007524 8/2010 EMTH-ARCOS : arccosinus à virgule flottante d'un angle (en radians) 50 Introduction Ce chapitre décrit la sous-fonction EMTH-ARCOS. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 304 Représentation 305 Description des paramètres 307 303 EMTH-ARCOS : arccosinus à virgule flottante d'un angle (en radians) Description sommaire Description de la fonction Cette instruction est une sous–fonction de l'instruction EMTH. Elle fait partie de la catégorie "Fonctions mathématiques en virgule flottante." 304 31007524 8/2010 EMTH-ARCOS : arccosinus à virgule flottante d'un angle (en radi- Représentation Symbole Représentation de l'instruction 31007524 8/2010 305 EMTH-ARCOS : arccosinus à virgule flottante d'un angle (en radians) Description des paramètres Description des paramètres de l'instruction Paramètres Référence de mémoire d'état Type de Signification données Entrée haute 0x, 1x Aucun Activée = Calcule l'arccosinus de la valeur valeur (partie haute) 4x REAL Valeur VF indiquant le cosinus d'un angle (le premier de deux registres successifs) Le premier des deux registres 4xxxx successifs est mémorisé en partie haute. Le deuxième registre est implicite. Une valeur VF indiquant le cosinus d'un angle entre 0 et pi radians est mémorisée ici. Cette valeur doit être comprise entre -1,0 et +1,0 ; dans le cas contraire : z L'arccosinus n'est pas calculé z Un résultat non valide est retourné z Une erreur est signalée dans la fonction EMTH ERLOG arccosinus d'une valeur (partie médiane) 4x REAL Arccosinus en radians de la valeur en partie haute (le premier de quatre registres successifs) Le premier des quatre registres 4xxxx successifs est mémorisé en partie médiane. Les trois registres restants sont implicites. L'arccosinus en radians de la valeur VF en partie haute est mémorisé dans les deuxième et troisième registres implicites. Le registre affiché et le premier registre implicite ne sont pas utilisés, mais leur affectation en mémoire d'état est nécessaire. Conseil : Afin d'économiser des registres, vous pouvez faire correspondre les références 4x du registre affiché et le premier registre implicite de la partie médiane avec les références de registre de la partie haute, puisque les deux premiers registres de la partie médiane ne sont pas utilisés. ARCOS (partie basse) Sortie haute 306 Sélection de la sous-fonction ARCOS 0x Aucun Activée = Opération réussie 31007524 8/2010 EMTH-ARCOS : arccosinus à virgule flottante d'un angle (en radi- Description des paramètres Valeur (partie haute) Le premier des deux registres 4x successifs est mémorisé en partie haute. Le deuxième registre est implicite. Registre Contenu Affiché Premier implicite Une valeur VF indiquant le cosinus d'un angle entre 0 et p radians est mémorisée ici. Cette valeur doit être comprise entre –1,0 et +1,0 ; Si la valeur n'est pas comprise entre –1,0 et +1,0 : z L'arccosinus n'est pas calculé z Un résultat invalide est retourné z Une erreur est signalée dans la fonction EMTH-ERLOG. Arccosinus de la valeur (partie médiane) Le premier des quatre registres 4x successifs est mémorisé en partie médiane. Les trois registres restants sont implicites Registre Contenu Affiché Premier implicite Ces registres ne sont pas utilisés, mais leur affectation en mémoire d'état est nécessaire. Deuxième implicite Troisième implicite L'arccosinus en radians de la valeur VF en partie haute est mémorisé ici. NOTE : Afin d'économiser des registres, vous pouvez affecter les nombres des références 4x au registre affiché et rendre le premier registre implicite de la partie médiane égal aux références de registre de la partie haute, puisque les deux premiers registres de la partie médiane ne sont pas utilisés. 31007524 8/2010 307 EMTH-ARCOS : arccosinus à virgule flottante d'un angle (en radians) 308 31007524 8/2010 EMTH-ARSIN : arcsinus à virgule flottante d'un angle (en radians) 31007524 8/2010 EMTH-ARSIN : arcsinus à virgule flottante d'un angle (en radians) 51 Introduction Ce chapitre décrit la sous-fonction EMTH-ARSIN. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 310 Représentation 311 Description des paramètres 313 309 EMTH-ARSIN : arcsinus à virgule flottante d'un angle (en radians) Description sommaire Description de la fonction Cette instruction est une sous–fonction de l'instruction EMTH. Elle fait partie de la catégorie "Fonctions mathématiques en virgule flottante." 310 31007524 8/2010 EMTH-ARSIN : arcsinus à virgule flottante d'un angle (en radians) Représentation Symbole Représentation de l'instruction 31007524 8/2010 311 EMTH-ARSIN : arcsinus à virgule flottante d'un angle (en radians) Description des paramètres Description des paramètres de l'instruction Paramètres Référence de Type de Signification mémoire données d'état Entrée haute 0x, 1x Aucun Activée = Calcule l'arcsinus de la valeur valeur (partie haute) 4x REAL Valeur VF indiquant le sinus d'un angle (le premier de deux registres successifs) Le premier des deux registres 4xxxx successifs est mémorisé en partie haute. Le deuxième registre est implicite. Une valeur VF indiquant le sinus d'un angle entre -Pi/2 et Pi/2 radians est mémorisée ici. Cette valeur (le sinus d'un angle) doit être comprise entre -1,0 et +1,0 ; dans le cas contraire : z L'arcsinus n'est pas calculé z Un résultat non valide est retourné z Une erreur est signalée dans la fonction EMTH ERLOG arcsinus de la valeur (partie médiane) 4x REAL Arcsinus de la valeur en partie haute (le premier de quatre registres successifs) ARSIN (partie basse) Sortie haute 312 Sélection de la sous-fonction ARSIN 0x Aucun Activée = Opération réussie* *Une erreur est signalée dans la fonction EMTH ERLOG. 31007524 8/2010 EMTH-ARSIN : arcsinus à virgule flottante d'un angle (en radians) Description des paramètres Valeur (partie haute) Le premier des deux registres 4x successifs est mémorisé en partie haute. Le deuxième registre est implicite. Registre Contenu Affiché Premier implicite Une valeur VF indiquant le sinus d'un angle entre -π/2 et π/2 radians est mémorisée ici. Cette valeur (le sinus d'un angle) doit être comprise entre -1,0 et +1,0 ; Si la valeur n'est pas comprise entre -1,0 et +1,0 : z L'arcsinus n'est pas calculé z Un résultat invalide est retourné z Une erreur est signalée dans la fonction EMTH-ERLOG. Arcsinus de la valeur (partie médiane) Le premier des quatre registres 4x successifs est mémorisé en partie médiane. Les trois registres restants sont implicites Registre Contenu Affiché Premier implicite Ces registres ne sont pas utilisés, mais leur affectation en mémoire d'état est nécessaire. Deuxième implicite Troisième implicite L'arcsinus de la valeur en partie haute est mémorisé au format VF. NOTE : Afin d'économiser des registres, vous pouvez affecter les nombres des références 4x au registre affiché et rendre le premier registre implicite de la partie médiane égal aux références de registre de la partie haute, puisque les deux premiers registres de la partie médiane ne sont pas utilisés. 31007524 8/2010 313 EMTH-ARSIN : arcsinus à virgule flottante d'un angle (en radians) 314 31007524 8/2010 EMTH-ARTAN : arctangente à virgule flottante d'un angle (en radians) 31007524 8/2010 EMTH-ARTAN : arctangente à virgule flottante d'un angle (en radians) 52 Introduction Ce chapitre décrit la sous-fonction EMTH-ARTAN. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 316 Représentation 317 Description des paramètres 319 315 EMTH-ARTAN : arctangente à virgule flottante d'un angle (en radians) Description sommaire Description de la fonction Cette instruction est une sous–fonction de l'instruction EMTH. Elle fait partie de la catégorie "Fonctions mathématiques en virgule flottante." 316 31007524 8/2010 EMTH-ARTAN : arctangente à virgule flottante d'un angle (en radi- Représentation Symbole Représentation de l'instruction 31007524 8/2010 317 EMTH-ARTAN : arctangente à virgule flottante d'un angle (en radians) Description des paramètres Description des paramètres de l'instruction Paramètres Référence de mémoire d'état Type de Signification données Entrée haute 0x, 1x Aucun Activée = Calcule l'arctangente de la valeur valeur (partie haute) 4x REAL Valeur VF indiquant la tangente d'un angle (le premier de deux registres successifs) Le premier des deux registres 4xxxx successifs est mémorisé en partie haute. Le deuxième registre est implicite. Une valeur VF indiquant la tangente d'un angle entre -Pi/2 et +Pi/2 radians est mémorisée ici. Toute valeur VF valide est admise. arctangente d'une valeur (partie médiane) 4x REAL Arctangente de la valeur en partie haute (le premier de quatre registres successifs) Le premier des quatre registres 4xxxx successifs est mémorisé en partie médiane. Les trois registres restants sont implicites. L'arctangente en radians de la valeur VF en partie haute est mémorisé dans les deuxième et troisième registres implicites. Le registre affiché et le premier registre implicite ne sont pas utilisés, mais leur affectation en mémoire d'état est nécessaire. Conseil : Afin d'économiser des registres, vous pouvez faire correspondre les références 4xxxx du registre affiché et le premier registre implicite de la partie médiane avec les références de registre de la partie haute, puisque les deux premiers registres de la partie médiane ne sont pas utilisés. ARTAN (partie basse) Sortie haute 318 Sélection de la sous-fonction ARTAN 0x Aucun Activée = Opération réussie* *Une erreur est signalée dans la fonction EMTH ERLOG. 31007524 8/2010 EMTH-ARTAN : arctangente à virgule flottante d'un angle (en radi- Description des paramètres Valeur (partie haute) Le premier des deux registres 4x successifs est mémorisé en partie haute. Le deuxième registre est implicite. Registre Contenu Affiché Premier implicite Une valeur VF indiquant la tangente d'un angle entre -π/2 et π/2 radians est mémorisée ici. Toute valeur VF valide est admise. Arctangente de la valeur (partie médiane) Le premier des quatre registres 4x successifs est mémorisé en partie médiane. Les trois registres restants sont implicites Registre Contenu Affiché Premier implicite Ces registres ne sont pas utilisés, mais leur affectation en mémoire d'état est nécessaire. Deuxième implicite Troisième implicite L'arctangente en radians de la valeur VF en partie haute est mémorisé ici. NOTE : Afin d'économiser des registres, vous pouvez affecter les nombres des références 4x au registre affiché et rendre le premier registre implicite de la partie médiane égal aux références de registre de la partie haute, puisque les deux premiers registres de la partie médiane ne sont pas utilisés. 31007524 8/2010 319 EMTH-ARTAN : arctangente à virgule flottante d'un angle (en radians) 320 31007524 8/2010 EMTH-CHSIN : changement du signe d'un nombre à virgule flottante 31007524 8/2010 EMTH-CHSIN : changement du signe d'un nombre à virgule flottante 53 Introduction Ce chapitre décrit la sous-fonction EMTH-CHSIN. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 322 Représentation 323 Description des paramètres 325 321 EMTH-CHSIN : changement du signe d'un nombre à virgule flottante Description sommaire Description de la fonction Cette instruction est une sous–fonction de l'instruction EMTH. Elle fait partie de la catégorie "Fonctions mathématiques en virgule flottante." 322 31007524 8/2010 EMTH-CHSIN : changement du signe d'un nombre à virgule flot- Représentation Symbole Représentation de l'instruction 31007524 8/2010 323 EMTH-CHSIN : changement du signe d'un nombre à virgule flottante Description des paramètres Description des paramètres de l'instruction Paramètres Référence Type de de mémoire donnée d'état s Entrée haute 0x, 1x Aucun Activée = Change le signe de la valeur VF valeur (partie haute) 4x REAL Valeur à virgule flottante (le premier de deux registres successifs) Le premier des deux registres 4xxxx successifs est mémorisé en partie haute. Le deuxième registre est implicite. La valeur VF dont le signe est changé est mémorisée ici. -(valeur) (partie médiane) 4x REAL Valeur à virgule flottante avec signe changé (le premier de quatre registres successifs) Le premier des quatre registres 4xxxx successifs est mémorisé en partie médiane. Les trois registres restants sont implicites. Le premier des quatre registres 4xxxx successifs est mémorisé en partie médiane. Les trois registres restants sont implicites. La valeur VF en partie haute est placée dans les deuxième et troisième registres implicites. Le registre affiché et le premier registre implicite de la partie médiane ne sont pas utilisés pendant l'opération, mais leur affectation en mémoire d'état est nécessaire. Conseil : Afin d'économiser des registres, vous pouvez faire correspondre les références 4xxxx du registre affiché et le premier registre implicite de la partie médiane avec les références de registre de la partie haute, puisque les deux premiers registres de la partie médiane ne sont pas utilisés. CHSIN (partie basse) Sortie haute 324 Signification Sélection de la sous-fonction CHSIN 0x Aucun Activée = Opération réussie* *Une erreur est signalée dans la fonction EMTH ERLOG. 31007524 8/2010 EMTH-CHSIN : changement du signe d'un nombre à virgule flot- Description des paramètres Valeur en virgule flottante (partie haute) Le premier des deux registres 4x successifs est mémorisé en partie haute. Le deuxième registre est implicite. Registre Contenu Affiché Premier implicite La valeur VF dont le signe est changé est mémorisée ici. Valeur en virgule flottante avec signe changé (partie médiane) Le premier des quatre registres 4x successifs est mémorisé en partie médiane. Les trois registres restants sont implicites. Registre Contenu Affiché Premier implicite Ces registres ne sont pas utilisés, mais leur affectation en mémoire d'état est nécessaire. Deuxième implicite Troisième implicite La valeur VF de la partie haute avec signe changé est mémorisée ici. NOTE : Afin d'économiser des registres, vous pouvez affecter les nombres des références 4x au registre affiché et rendre le premier registre implicite de la partie médiane égal aux références de registre de la partie haute, puisque les deux premiers registres de la partie médiane ne sont pas utilisés. 31007524 8/2010 325 EMTH-CHSIN : changement du signe d'un nombre à virgule flottante 326 31007524 8/2010 EMTH-CMPFP : comparaison à virgule flottante 31007524 8/2010 EMTH-CMPFP : comparaison à virgule flottante 54 Introduction Ce chapitre décrit la sous-fonction EMTH-CMPFP. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 328 Représentation 329 Description des paramètres 331 327 EMTH-CMPFP : comparaison à virgule flottante Description sommaire Description de la fonction Cette instruction est une sous–fonction de l'instruction EMTH. Elle fait partie de la catégorie "Fonctions mathématiques en virgule flottante." 328 31007524 8/2010 EMTH-CMPFP : comparaison à virgule flottante Représentation Symbole Représentation de l'instruction 31007524 8/2010 329 EMTH-CMPFP : comparaison à virgule flottante Description des paramètres Description des paramètres de l'instruction Paramètres Référence de mémoire d'état Type de Signification données Entrée haute 0x, 1x Aucun Activée = Déclenche la comparaison valeur 1 (partie haute) 4x DINT, UDINT Première valeur à virgule flottante (le premier de deux registres successifs) Le premier des deux registres 4xxxx successifs est mémorisé en partie haute. Le deuxième registre est implicite. La première valeur VF (valeur 1) à comparer est mémorisée ici. valeur 2 (partie médiane) 4x REAL Deuxième valeur à virgule flottante (le premier de quatre registres successifs) Le premier des quatre registres 4xxxx successifs est mémorisé en partie médiane. Les trois registres restants sont implicites. La seconde valeur VF (valeur 2) à comparer est mémorisée dans le registre affiché, et les premier, deuxième et troisième registres implicites ne sont pas utilisés dans la comparaison, mais leur allocation en mémoire d'état est nécessaire. CMPFP (partie basse) 330 Sélection de la sous-fonction CMPFP Sortie haute 0x Aucun Activée = Opération réussie Sortie médiane 0x Aucun Reportez-vous à la table nommée Sortie médiane et sortie basse, page 331, indiquant la relation créée lors de la comparaison de deux valeurs à virgule flottante par CMPF. Sortie basse 0x Aucun Reportez-vous à la table nommée Sortie médiane et sortie basse, page 331, indiquant la relation créée lors de la comparaison de deux valeurs à virgule flottante par CMPF. 31007524 8/2010 EMTH-CMPFP : comparaison à virgule flottante Description des paramètres Valeur 1 (partie haute) Le premier des deux registres 4x successifs est mémorisé en partie haute. Le deuxième registre est implicite : Registre Contenu Affiché Premier implicite La première valeur VF (valeur 1) à comparer est mémorisée ici. Valeur 2 (partie médiane) Le premier des quatre registres 4x successifs est mémorisé en partie médiane. Les trois registres restants sont implicites : Registre Contenu Affiché Premier implicite La deuxième valeur VF (valeur 2) à comparer est mémorisée ici. Deuxième implicite Troisième implicite Ces registres ne sont pas utilisés, mais leur affectation en mémoire d'état est nécessaire. Sortie médiane et sortie basse Lorsque la fonction EMTH-CMPFP compare ses deux valeurs VF, les états combinés des sorties médiane et basse indiquent leur relation : 31007524 8/2010 Sortie médiane Sortie basse Relation ON OFF valeur 1 > valeur 2 OFF ON valeur 1 < valeur 2 ON ON valeur 1 = valeur 2 331 EMTH-CMPFP : comparaison à virgule flottante 332 31007524 8/2010 EMTH-CMPIF : comparaison entier-virgule flottante 31007524 8/2010 EMTH-CMPIF : comparaison entier-virgule flottante 55 Introduction Ce chapitre décrit la sous-fonction EMTH-CMPIF. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 334 Représentation 335 Description des paramètres 337 333 EMTH-CMPIF : comparaison entier-virgule flottante Description sommaire Description de la fonction Cette instruction est une sous–fonction de l'instruction EMTH. Elle fait partie de la catégorie "Fonctions mathématiques en virgule flottante." 334 31007524 8/2010 EMTH-CMPIF : comparaison entier-virgule flottante Représentation Symbole Représentation de l'instruction 31007524 8/2010 335 EMTH-CMPIF : comparaison entier-virgule flottante Description des paramètres Description des paramètres de l'instruction Paramètres Référence de Type de mémoire données d'état Signification Entrée haute 0x, 1x Aucun Activée = Déclenche la comparaison entier (partie haute) 4x DINT, UDINT Valeur entière (le premier de deux registres successifs) Le premier des deux registres 4xxxx successifs est mémorisé en partie haute. Le deuxième registre est implicite. La valeur entière double précision à comparer est mémorisée ici. VF (partie médiane) 4x REAL Valeur à virgule flottante (le premier de quatre registres successifs) Le premier des quatre registres 4xxxx successifs est mémorisé en partie médiane. Les trois registres restants sont implicites. La valeur VF à comparer est mémorisée dans le registre affiché, et les premier, deuxième et troisième registres implicites ne sont pas utilisés dans la comparaison, mais leur allocation en mémoire d'état est nécessaire. CMPIF (partie basse) 336 Sélection de la sous-fonction CMPIF Sortie haute 0x Aucun Activée = Opération réussie Sortie médiane 0x Aucun Reportez-vous à la table nommée Sortie médiane et sortie basse, page 337, indiquant la relation créée lors de la comparaison de deux valeurs à virgule flottante par CMPIF. Sortie basse 0x Aucun Reportez-vous à la table nommée Sortie médiane et sortie basse, page 337, indiquant la relation créée lors de la comparaison de deux valeurs à virgule flottante par CMPIF. 31007524 8/2010 EMTH-CMPIF : comparaison entier-virgule flottante Description des paramètres Valeur entière (partie haute) Le premier des deux registres 4x successifs est mémorisé en partie haute. Le deuxième registre est implicite : Registre Contenu Affiché Premier implicite La valeur entière double précision à comparer est mémorisée ici. Valeur en virgule flottante (partie médiane) Le premier des quatre registres 4x successifs est mémorisé en partie médiane. Les trois registres restants sont implicites : Registre Contenu Affiché Premier implicite La valeur VF à comparer est mémorisée ici. Deuxième implicite Troisième implicite Ces registres ne sont pas utilisés, mais leur affectation en mémoire d'état est nécessaire. Sortie médiane et sortie basse Lorsque la fonction EMTH CMPIF compare ses valeurs entière et VF, les états combinés des sorties médiane et basse indiquent leur relation : Sortie médiane 31007524 8/2010 Sortie basse Relation ON OFF Entier > VF OFF ON Entier < VF ON ON Entier = VF 337 EMTH-CMPIF : comparaison entier-virgule flottante 338 31007524 8/2010 EMTH-CNVDR : conversion à virgule flottante de degrés en radians 31007524 8/2010 EMTH-CNVDR : conversion à virgule flottante de degrés en radians 56 Introduction Ce chapitre décrit la sous-fonction EMTH-CNVDR. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 340 Représentation 341 Description des paramètres 343 339 EMTH-CNVDR : conversion à virgule flottante de degrés en radians Description sommaire Description de la fonction Cette instruction est une sous–fonction de l'instruction EMTH. Elle fait partie de la catégorie "Fonctions mathématiques en virgule flottante." 340 31007524 8/2010 EMTH-CNVDR : conversion à virgule flottante de degrés en radians Représentation Symbole Représentation de l'instruction 31007524 8/2010 341 EMTH-CNVDR : conversion à virgule flottante de degrés en radians Description des paramètres Description des paramètres de l'instruction Paramètres Référence de Type de mémoire données d'état Signification Entrée haute 0x, 1x Aucun Activée = Déclenche la conversion de valeur 1 en valeur 2 (résultat) valeur (partie haute) 4x REAL Valeur au format VF d'un angle en degrés (le premier de deux registres successifs) Le premier des deux registres 4xxxx successifs est mémorisé en partie haute. Le deuxième registre est implicite. La valeur au format VF d'un angle en degrés est mémorisée ici. résultat (partie médiane) 4x REAL Résultat converti (en radians) au format VF (le premier de quatre registres successifs) Le premier des quatre registres 4xxxx successifs est mémorisé en partie médiane. Les trois registres restants sont implicites. Le résultat de la conversion au format VF de la valeur en partie haute (en radians) est mémorisé dans les deuxième et troisième registres implicites. Le registre affiché et le premier registre implicite ne sont pas utilisés, mais leur affectation en mémoire d'état est nécessaire. Conseil : Afin d'économiser des registres, vous pouvez faire correspondre les références 4xxxx du registre affiché et le premier registre implicite de la partie médiane avec les références de registre de la partie haute, puisque les deux premiers registres de la partie médiane ne sont pas utilisés. CNVDR (partie basse) Sortie haute 342 Sélection de la sous-fonction CNVDR 0x Aucun Activée = Opération réussie* *Une erreur est signalée dans la fonction EMTH ERLOG. 31007524 8/2010 EMTH-CNVDR : conversion à virgule flottante de degrés en radians Description des paramètres Valeur (partie haute) Le premier des deux registres 4x successifs est mémorisé en partie haute. Le deuxième registre est implicite : Registre Contenu Affiché Premier implicite La valeur au format VF d'un angle en degrés est mémorisée ici. Résultat en radians (partie médiane) Le premier des quatre registres 4x successifs est mémorisé en partie médiane. Les trois registres restants sont implicites : Registre Contenu Affiché Premier implicite Ces registres ne sont pas utilisés, mais leur affectation en mémoire d'état est nécessaire. Deuxième implicite Troisième implicite Le résultat de conversion au format VF de la valeur en partie haute (en radians) est mémorisé ici. NOTE : Afin d'économiser des registres, vous pouvez affecter les nombres des références 4x au registre affiché et rendre le premier registre implicite de la partie médiane égal aux références de registre de la partie haute, puisque les deux premiers registres de la partie médiane ne sont pas utilisés. 31007524 8/2010 343 EMTH-CNVDR : conversion à virgule flottante de degrés en radians 344 31007524 8/2010 EMTH-CNVFI : conversion virgule flottante en entier 31007524 8/2010 EMTH-CNVFI : conversion virgule flottante en entier 57 Introduction Ce chapitre décrit la sous-fonction EMTH-CNVFI. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 346 Représentation 347 Description des paramètres 349 Gestion des erreurs d'exécution 350 345 EMTH-CNVFI : conversion virgule flottante en entier Description sommaire Description de la fonction Cette instruction est une sous–fonction de l'instruction EMTH. Elle fait partie de la catégorie "Fonctions mathématiques en virgule flottante." 346 31007524 8/2010 EMTH-CNVFI : conversion virgule flottante en entier Représentation Symbole Représentation de l'instruction 31007524 8/2010 347 EMTH-CNVFI : conversion virgule flottante en entier Description des paramètres Description des paramètres de l'instruction Paramètres Référence de Type de Signification mémoire données d'état Entrée haute 0x, 1x Aucun Activée = Déclenche la conversion VF-entier. VF (partie haute) 4x REAL Valeur à virgule flottante à convertir (le premier de deux registres successifs) Le premier des deux registres 4xxxx successifs est mémorisé en partie haute. Le deuxième registre est implicite. La valeur entière double précision à convertir au format VF 32 bits est mémorisée ici. Remarque : Si une valeur entière incorrecte ( > 9 999) est entrée dans l'un des deux registres de la partie haute, la conversion en VF sera effectuée, mais une erreur sera signalée et consignée dans la fonction EMTH_ERLOG (voir page 138). Le résultat de la conversion peut être incorrect. entier (partie médiane) 4x DINT, UDINT Valeur entière (le premier de quatre registres successifs) Le premier des quatre registres 4xxxx successifs est mémorisé en partie médiane. Les trois registres restants sont implicites. Le résultat VF de la conversion est mémorisé dans les deuxième et troisième registres implicites. Le registre affiché et le premier registre implicite ne sont pas utilisés dans la fonction, mais leur affectation en mémoire d'état est nécessaire. Conseil : Afin d'économiser des registres, vous pouvez faire correspondre les références 4x du registre affiché et le premier registre implicite de la partie médiane avec les références de registre de la partie haute, puisque les deux premiers registres de la partie médiane ne sont pas utilisés. CNVFI (partie basse) 348 Sélection de la sous-fonction CNVFI Sortie haute 0x Aucun Activée = Opération réussie* *Une erreur est signalée dans la fonction EMTH ERLOG. Sortie basse 0x Aucun Désactivée = Valeur entière positive. Activée = Valeur entière négative. 31007524 8/2010 EMTH-CNVFI : conversion virgule flottante en entier Description des paramètres Valeur entière (partie médiane) Le premier des quatre registres 4x successifs est mémorisé en partie médiane. Les trois registres restants sont implicites : Registre Contenu Affiché Premier implicite Ces registres ne sont pas utilisés, mais leur affectation en mémoire d'état est nécessaire. Deuxième implicite Troisième implicite Le résultat entier double précision de la conversion est mémorisé ici. Cette valeur devrait être la valeur entière la plus grande possible ≤ la valeur VF. Par exemple, la valeur VF 3,5 est convertie en la valeur entière 3, tandis que la valeur VF -3,5 est convertie en la valeur entière -4. NOTE : Afin d'économiser des registres, vous pouvez affecter les nombres des références 4x au registre affiché et rendre le premier registre implicite de la partie médiane égal aux références de registre de la partie haute, puisque les deux premiers registres de la partie médiane ne sont pas utilisés. 31007524 8/2010 349 EMTH-CNVFI : conversion virgule flottante en entier Gestion des erreurs d'exécution Erreurs d'exécution Si le résultat entier est trop grand pour un format entier double précision (> 99 999 999), la conversion a quand même lieu, mais une erreur est consignée dans la fonction EMTH_ERLOG. 350 31007524 8/2010 EMTH-CNVIF : conversion d'entier en virgule flottante 31007524 8/2010 EMTH-CNVIF : conversion d'entier en virgule flottante 58 Introduction Ce chapitre décrit la sous-fonction EMTH-CNVIF. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 352 Représentation 353 Description des paramètres 355 Gestion des erreurs d'exécution 356 351 EMTH-CNVIF : conversion d'entier en virgule flottante Description sommaire Description de la fonction Cette instruction est une sous–fonction de l'instruction EMTH. Elle fait partie de la catégorie "Fonctions mathématiques en virgule flottante." 352 31007524 8/2010 EMTH-CNVIF : conversion d'entier en virgule flottante Représentation Symbole Représentation de l'instruction 31007524 8/2010 353 EMTH-CNVIF : conversion d'entier en virgule flottante Description des paramètres Description des paramètres de l'instruction Paramètres Référence de Type de mémoire données d'état Entrée haute 0x, 1x Aucun Activée = Déclenche la conversion VF-entier. entier (partie haute) 4x DINT, UDINT Valeur entière (le premier de deux registres successifs) Le premier des deux registres 4xxxx successifs est mémorisé en partie haute. Le deuxième registre est implicite. La valeur VF à convertir est mémorisée ici. résultat (partie médiane) 4x REAL Résultat (le premier de quatre registres successifs) Le premier des quatre registres 4xxxx successifs est mémorisé en partie médiane. Les trois registres restants sont implicites. Le résultat entier double précision de la conversion est mémorisé dans les deuxième et troisième registres implicites. Cette valeur devrait être la plus grande valeur entière <= à la valeur VF. Par exemple, la valeur VF 3,5 est convertie en la valeur entière 3, tandis que la valeur VF -3,5 est convertie en la valeur entière -4. Remarque : Si le résultat entier est trop grand pour un format entier double précision 984 (> 99 999 999), la conversion a quand même lieu, mais une erreur est consignée dans la fonction EMTH ERLOG (voir page 138). Le registre affiché et le premier registre implicite de la partie haute ne sont pas utilisés pendant la conversion, mais leur affectation en mémoire d'état est nécessaire. Conseil : Afin d'économiser des registres, vous pouvez faire correspondre les références 4xxxx du registre affiché et le premier registre implicite de la partie médiane avec les références de registre de la partie haute, puisque les deux premiers registres de la partie médiane ne sont pas utilisés. CNVIF (partie basse) Sortie haute 354 Signification Sélection de la sous-fonction CNVIF 0x Aucun Activée = Opération réussie* *Une erreur est signalée dans la fonction EMTH ERLOG. 31007524 8/2010 EMTH-CNVIF : conversion d'entier en virgule flottante Description des paramètres Valeur entière (partie haute) Le premier des deux registres 4x successifs est mémorisé en partie haute. Le deuxième registre est implicite : Registre Contenu Affiché Premier implicite La valeur entière double précision à convertir au format VF 32 bits est mémorisée ici. Résultat (partie médiane) Le premier des quatre registres 4x successifs est mémorisé en partie médiane. Les trois registres restants sont implicites. Registre Contenu Affiché Premier implicite Ces registres ne sont pas utilisés, mais leur affectation en mémoire d'état est nécessaire. Deuxième implicite Troisième implicite Le résultat VF de la conversion est mémorisé ici. NOTE : Afin d'économiser des registres, vous pouvez affecter les nombres des références 4x au registre affiché et rendre le premier registre implicite de la partie médiane égal aux références de registre de la partie haute, puisque les deux premiers registres de la partie médiane ne sont pas utilisés. 31007524 8/2010 355 EMTH-CNVIF : conversion d'entier en virgule flottante Gestion des erreurs d'exécution Erreurs d'exécution Si une valeur entière incorrecte (> 9 999) est mémorisée dans l'un des deux registres de la partie haute, la conversion VF sera effectuée, mais une erreur sera signalée et consignée dans la fonction EMTH_ERLOG. Le résultat de la conversion peut être incorrect. 356 31007524 8/2010 EMTH-CNVRD : conversion en virgule flottante de radians en degrés 31007524 8/2010 EMTH-CNVRD : conversion en virgule flottante de radians en degrés 59 Introduction Ce chapitre décrit la sous-fonction EMTH-CNVRD. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 358 Représentation 359 Description des paramètres 361 357 EMTH-CNVRD : conversion en virgule flottante de radians en degrés Description sommaire Description de la fonction Cette instruction est une sous–fonction de l'instruction EMTH. Elle fait partie de la catégorie "Fonctions mathématiques en virgule flottante." 358 31007524 8/2010 EMTH-CNVRD : conversion en virgule flottante de radians en de- Représentation Symbole Représentation de l'instruction 31007524 8/2010 359 EMTH-CNVRD : conversion en virgule flottante de radians en degrés Description des paramètres Description des paramètres de l'instruction Paramètres Référence de Type de Signification mémoire données d'état Entrée haute 0x, 1x Aucun Activée = Déclenche la conversion de valeur 1 en valeur 2 valeur (partie haute) 4x REAL Valeur au format VF d'un angle en radians (le premier de deux registres successifs) Le premier des deux registres 4xxxx successifs est mémorisé en partie haute. Le deuxième registre est implicite. La valeur au format VF d'un angle en radians est mémorisée ici. résultat (partie médiane) 4x REAL Résultat converti (en degrés) au format VF (le premier de quatre registres successifs) Le premier des quatre registres 4xxxx successifs est mémorisé en partie médiane. Les trois registres restants sont implicites. Le résultat de la conversion au format VF de la valeur en partie haute (en degrés) est mémorisé dans les deuxième et troisième registres implicites. Le registre affiché et le premier registre implicite ne sont pas utilisés, mais leur affectation en mémoire d'état est nécessaire. Conseil : Afin d'économiser des registres, vous pouvez faire correspondre les références 4xxxx du registre affiché et le premier registre implicite de la partie médiane avec les références de registre de la partie haute, puisque les deux premiers registres de la partie médiane ne sont pas utilisés. CNVRD (partie basse) Sortie haute 360 Sélection de la sous-fonction CNVRD 0x Aucun Activée = Opération réussie* *Une erreur est signalée dans la fonction EMTH ERLOG. 31007524 8/2010 EMTH-CNVRD : conversion en virgule flottante de radians en de- Description des paramètres Valeur (partie haute) Le premier des deux registres 4x successifs est mémorisé en partie haute. Le deuxième registre est implicite : Registre Contenu Affiché Premier implicite La valeur au format VF d'un angle en radians est mémorisée ici. Résultat en degrés (partie médiane) Le premier des quatre registres 4x successifs est mémorisé en partie médiane. Les trois registres restants sont implicites. Registre Contenu Affiché Premier implicite Ces registres ne sont pas utilisés, mais leur affectation en mémoire d'état est nécessaire. Deuxième implicite Troisième implicite Le résultat de conversion au format VF de la valeur en partie haute (en degrés) est mémorisé ici. NOTE : Afin d'économiser des registres, vous pouvez affecter les nombres des références 4x au registre affiché et rendre le premier registre implicite de la partie médiane égal aux références de registre de la partie haute, puisque les deux premiers registres de la partie médiane ne sont pas utilisés. 31007524 8/2010 361 EMTH-CNVRD : conversion en virgule flottante de radians en degrés 362 31007524 8/2010 EMTH-COS : cosinus à virgule flottante d'un angle (en radians) 31007524 8/2010 EMTH-COS : cosinus à virgule flottante d'un angle (en radians) 60 Introduction Ce chapitre décrit la sous-fonction EMTH-COS. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 364 Représentation 365 Description des paramètres 367 363 EMTH-COS : cosinus à virgule flottante d'un angle (en radians) Description sommaire Description de la fonction Cette instruction est une sous–fonction de l'instruction EMTH. Elle fait partie de la catégorie "Fonctions mathématiques en virgule flottante." 364 31007524 8/2010 EMTH-COS : cosinus à virgule flottante d'un angle (en radians) Représentation Symbole Représentation de l'instruction 31007524 8/2010 365 EMTH-COS : cosinus à virgule flottante d'un angle (en radians) Description des paramètres Description des paramètres de l'instruction Paramètres Référence de Type de mémoire données d'état Entrée haute 0x, 1x Aucun Activée = Calcule le cosinus de la valeur valeur (partie haute) 4x REAL Valeur VF indiquant la valeur d'un angle en radians (le premier de deux registres successifs) Le premier des deux registres 4xxxx successifs est mémorisé en partie haute. Le deuxième registre est implicite. Une valeur VF indiquant la valeur de l'angle en radians est mémorisée ici. Cette valeur doit être < 65536,0 ; dans le cas contraire : z Le cosinus n'est pas calculé z Un résultat non valide est retourné z Une erreur est signalée dans la fonction EMTH ERLOG cosinus de la valeur (partie médiane) 4x REAL Cosinus de la valeur en partie haute (le premier de quatre registres successifs) COS (partie basse) Sortie haute 366 Signification Sélection de la sous-fonction COS 0x Aucun Activée = Opération réussie* *Une erreur est signalée dans la fonction EMTH ERLOG. 31007524 8/2010 EMTH-COS : cosinus à virgule flottante d'un angle (en radians) Description des paramètres Valeur (partie haute) Le premier des deux successifs registres 4x est mémorisé en partie haute. Le deuxième registre est implicite. Registre Contenu Affiché Premier implicite Une valeur VF indiquant la valeur de l'angle en radians est mémorisée ici. Cette valeur doit être < 65.536,0. Si la valeur est ≥ 65.536,0 : z Le cosinus n'est pas calculé z Un résultat invalide est retourné z Une erreur est signalée dans la fonction EMTH-ERLOG. Cosinus de la valeur (partie médiane) Le premier des quatre registres 4x successifs est mémorisé en partie médiane. Les trois registres restants sont implicites. Registre Contenu Affiché Premier implicite Ces registres ne sont pas utilisés, mais leur affectation en mémoire d'état est nécessaire. Deuxième implicite Troisième implicite Le cosinus de la valeur en partie haute est mémorisé au format VF. NOTE : Afin d'économiser des registres, vous pouvez affecter les nombres des références 4x au registre affiché et rendre le premier registre implicite de la partie médiane égal aux références de registre de la partie haute, puisque les deux premiers registres de la partie médiane ne sont pas utilisés. 31007524 8/2010 367 EMTH-COS : cosinus à virgule flottante d'un angle (en radians) 368 31007524 8/2010 EMTH-DIVDP : division en double précision 31007524 8/2010 EMTH-DIVDP : division en double précision 61 Introduction Ce chapitre décrit la sous-fonction EMTH-DIVDP. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 370 Représentation 371 Description des paramètres 373 Gestion des erreurs d'exécution 374 369 EMTH-DIVDP : division en double précision Description sommaire Description de la fonction Cette instruction est une sous–fonction de l'instruction EMTH. Elle fait partie de la catégorie "Fonctions mathématiques en double précision." 370 31007524 8/2010 EMTH-DIVDP : division en double précision Représentation Symbole Représentation de l'instruction 31007524 8/2010 371 EMTH-DIVDP : division en double précision Description des paramètres Description des paramètres de l'instruction Paramètres Référence de mémoire d'état Type de données Signification Entrée haute 0x, 1x Aucun Activée = Opérande 1 divisé par opérande 2 et résultat mémorisé dans les registres désignés Entrée médiane 0x, 1x Aucun Activée = Reste décimal. Désactivée = Reste fractionnel opérande 1 partie haute 4x DINT, UDINT Opérande 1 (le premier de deux registres successifs) Le premier des deux registres 4xxxx successifs est mémorisé en partie haute. Le deuxième registre est implicite. La partie haute est mémorisée ici. Chaque registre contient une valeur comprise entre 0000 et 9 999, entre 0 et 99 999 999 pour une valeur à double précision combinée. La partie poids fort de l'opérande 1 est mémorisée dans le registre affiché, et la partie poids faible dans le registre implicite. opérande 2 quotient reste partie médiane 4x DINT, UDINT Opérande 2, quotient et reste (le premier de six registres successifs) Le premier de six registres 4xxxx successifs est mémorisé en partie médiane. Les cinq registres restants sont implicites : z Le registre affiché et le premier registre implicite mémorisent respectivement les parties poids fort et poids faible de l'opérande 2 pour une valeur à double précision combinée comprise entre 0 et 99 999 999. Remarque : La division par zéro n'étant pas valide, une valeur 0 provoquera une erreur. Un programme d'élimination d'erreur met les registres restants de la partie médiane à 0000 et active la sortie basse. z Les deuxième et troisième registres implicites contiennent un quotient à huit chiffres. z Les quatrième et cinquième registres implicites contiennent le reste. S'il est exprimé sous forme de fraction, il contient huit chiffres et les deux registres sont utilisés. S'il est exprimé sous forme de nombre décimal, il contient quatre chiffres, et seul le quatrième registre implicite est utilisé. DIVDP (partie basse) 372 Sélection de la sous-fonction DIVDP" Sortie haute 0x Aucun Activée = Opération réussie Sortie médiane 0x Aucun Activée = Opérande hors limites ou non valide Sortie basse 0x Aucun Activée = Opérande 2 = 0 31007524 8/2010 EMTH-DIVDP : division en double précision Description des paramètres Opérande 1 (partie haute) Le premier des deux registres 4x successifs est mémorisé en partie haute. Le deuxième registre est implicite. Registre Contenu Affiché La partie poids faible de l'opérande 1 est enregistrée ici. Premier implicite La partie poids fort de l'opérande 1 est enregistrée ici. Chaque registre contient une valeur comprise entre 0000 et 9.999, permettant d'obtenir une valeur double précision combinée comprise entre 0 et 99.999.999. Opérande 2, quotient et reste (partie médiane) Le premier de six registres 4x successifs est placé dans la partie médiane. Les cinq registres restants sont implicites. Registre Contenu Affiché Le registre contient la partie poids faible de l'opérande 2, respectivement, permettant d'obtenir une valeur double précision combinée comprise entre 0 et 99.999.999. Premier implicite Le registre contient la partie poids fort de l'opérande 2, respectivement, permettant d'obtenir une valeur double précision combinée comprise entre 0 et 99.999.999. Deuxième implicite Troisième implicite Les registres contiennent un quotient à huit chiffres. Quatrième implicite Cinquième implicite Les registres mémorisent le reste. z Si celui-ci est exprimé sous forme de nombre décimal, il contient quatre chiffres et seul le quatrième registre implicite est utilisé. z S'il est exprimé sous forme de fraction, il contient huit chiffres et les deux registres sont utilisés. 31007524 8/2010 373 EMTH-DIVDP : division en double précision Gestion des erreurs d'exécution Erreurs d'exécution La division par zéro n'étant pas valide, une valeur 0 provoquera une erreur, un sous–programme d'élimination d'erreur met les registres restants de la partie médiane à 0000 et active la sortie basse. 374 31007524 8/2010 EMTH-DIVFI : nombre à virgule flottante divisé par entier 31007524 8/2010 EMTH-DIVFI : nombre à virgule flottante divisé par entier 62 Introduction Ce chapitre décrit la sous-fonction EMTH-DIVFI. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 376 Représentation 377 Description des paramètres 378 375 EMTH-DIVFI : nombre à virgule flottante divisé par entier Description sommaire Description de la fonction Cette instruction est une sous–fonction de l'instruction EMTH. Elle fait partie de la catégorie "Fonctions mathématiques en virgule flottante." 376 31007524 8/2010 EMTH-DIVFI : nombre à virgule flottante divisé par entier Représentation Symbole Représentation de l'instruction Description des paramètres Description des paramètres de l'instruction Paramètres Type de Signification Référence de mémoire données d'état Entrée haute 0x, 1x Aucun Activée = Déclenche l'opération VF / entier VF (partie haute) 4x REAL Valeur à virgule flottante (le premier de deux registres successifs) Le premier des deux registres 4xxxx successifs est mémorisé en partie haute. Le deuxième registre est implicite. La valeur VF à diviser par la valeur entière est mémorisée ici. entier et quotient (partie médiane) 4x DINT, UDINT Valeur entière et quotient (le premier de quatre registres successifs) Le premier des quatre registres 4xxxx successifs est mémorisé en partie médiane. Les trois registres restants sont implicites. La valeur entière double précision qui divise la valeur à virgule flottante est placée dans le registre affiché et dans le premier registre implicite tandis que le quotient est placé dans les deuxième et troisième registres implicites. Le quotient est placé au format VF. DIVFI (partie basse) Sortie haute 31007524 8/2010 Sélection de la sous-fonction DIVFI 0x Aucun Activée = Opération réussie 377 EMTH-DIVFI : nombre à virgule flottante divisé par entier Description des paramètres Valeur en virgule flottante (partie haute) Le premier des deux registres 4x successifs est mémorisé en partie haute. Le deuxième registre est implicite : Registre Contenu Affiché Premier implicite La valeur VF à diviser par la valeur entière est mémorisée ici. Valeur entière et quotient (partie médiane) Le premier des quatre registres 4x successifs est mémorisé en partie médiane. Les trois registres restants sont implicites. 378 Registre Contenu Affiché Premier implicite La valeur entière double précision qui divise la valeur en virgule flottante est placée ici. Deuxième implicite Troisième implicite Le quotient est placé ici au format VF. 31007524 8/2010 EMTH-DIVFP : division à virgule flottante 31007524 8/2010 EMTH-DIVFP : division à virgule flottante 63 Introduction Ce chapitre décrit l'instruction EMTH-DIVFP. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 380 Représentation 381 Description des paramètres 382 379 EMTH-DIVFP : division à virgule flottante Description sommaire Description de la fonction Cette instruction est une sous–fonction de l'instruction EMTH. Elle fait partie de la catégorie "Fonctions mathématiques en virgule flottante." 380 31007524 8/2010 EMTH-DIVFP : division à virgule flottante Représentation Symbole Représentation de l'instruction Description des paramètres Description des paramètres de l'instruction Paramètres Référence de mémoire d'état Type de données Signification Entrée haute 0x, 1x Aucun Activée = Déclenche l'opération valeur 1 / valeur 2 valeur 1 (partie haute) 4x REAL Valeur 1 à virgule flottante (le premier de deux registres successifs) Le premier des deux registres 4xxxx successifs est mémorisé en partie haute. Le deuxième registre est implicite. La valeur 1 VF à diviser par la valeur 2 est mémorisée ici. valeur 2 et quotient (partie médiane) 4x REAL Valeur 2 à virgule flottante et quotient (le premier de quatre registres successifs) Le premier des quatre registres 4xxxx successifs est mémorisé en partie médiane. Les trois registres restants sont implicites. La valeur 2 VF (valeur par laquelle la valeur 1 est divisée) est mémorisée dans le registre affiché et dans le premier registre implicite. Le quotient est placé au format VF dans les deuxième et troisième registres implicites. DIVFP (partie basse) Sortie haute 31007524 8/2010 Sélection de la sous-fonction DIVFP 0x Aucun Activée = Opération réussie 381 EMTH-DIVFP : division à virgule flottante Description des paramètres Valeur 1 en virgule flottante (partie haute) Le premier des deux registres 4x successifs est mémorisé en partie haute. Le deuxième registre est implicite : Registre Contenu Affiché Premier implicite La valeur 1 VF à diviser par la valeur 2 est mémorisée ici. Valeur 2 en virgule flottante et quotient (partie médiane) Le premier des quatre registres 4x successifs est mémorisé en partie médiane. Les trois registres restants sont implicites : 382 Registre Contenu Affiché Premier implicite La valeur 2 en virgule flottante par laquelle la valeur 1 est divisée est mémorisée ici. Deuxième implicite Troisième implicite Le quotient est placé ici au format VF. 31007524 8/2010 EMTH-DIVIF : entier divisé par nombre à virgule flottante 31007524 8/2010 EMTH-DIVIF : entier divisé par nombre à virgule flottante 64 Introduction Ce chapitre décrit l'instruction EMTH-DIVIF. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 384 Représentation 385 Description des paramètres 386 383 EMTH-DIVIF : entier divisé par nombre à virgule flottante Description sommaire Description de la fonction Cette instruction est une sous–fonction de l'instruction EMTH. Elle fait partie de la catégorie "Fonctions mathématiques en virgule flottante." 384 31007524 8/2010 EMTH-DIVIF : entier divisé par nombre à virgule flottante Représentation Symbole Représentation de l'instruction Description des paramètres Description des paramètres de l'instruction Paramètres Référence Type de de mémoire données d'état Signification Entrée haute 0x, 1x Aucun Activée = Déclenche l'opération entier / VF entier (partie haute) 4x DINT, UDINT Valeur entière (le premier de deux registres successifs) Le premier des deux registres 4xxxx successifs est mémorisé en partie haute. Le deuxième registre est implicite. La valeur entière double précision à diviser par la valeur VF est sauvegardée ici. VF et quotient (partie médiane) 4x REAL Valeur VF et quotient (le premier de quatre registres successifs) Le premier des quatre registres 4xxxx successifs est mémorisé en partie médiane. Les trois registres restants sont implicites. Le registre affiché et le premier registre implicite mémorisent la valeur VF à diviser dans l'opération, le quotient étant placé dans les deuxième et troisième registres implicites. Le quotient est placé au format VF. DIVIF (partie basse) Sortie haute 31007524 8/2010 Sélection de la sous-fonction DIVIF 0x Aucun Activée = Opération réussie 385 EMTH-DIVIF : entier divisé par nombre à virgule flottante Description des paramètres Valeur entière (partie haute) Le premier des deux registres 4x successifs est mémorisé en partie haute. Le deuxième registre est implicite : Registre Contenu Affiché Premier implicite La valeur entière double précision à diviser par la valeur VF est sauvegardée ici. Valeur en virgule flottante et quotient (partie médiane) Le premier des quatre registres 4x successifs est mémorisé en partie médiane. Les trois registres restants sont implicites. 386 Registre Contenu Affiché Premier implicite La valeur VF à diviser dans l'opération est mémorisée ici. Deuxième implicite Troisième implicite Le quotient est placé ici au format VF. 31007524 8/2010 EMTH-ERLOG : consignation d'erreurs à virgule flottante 31007524 8/2010 EMTH-ERLOG : consignation d'erreurs à virgule flottante 65 Introduction Ce chapitre décrit l'instruction EMTH-ERLOG. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Description sommaire 388 Représentation : EMTH - ERLOG : fonctions mathématiques à virgule flottante : consignation d'erreurs 389 Description des paramètres 391 387 EMTH-ERLOG : consignation d'erreurs à virgule flottante Description sommaire Description de la fonction Cette instruction est une sous–fonction de l'instruction EMTH. Elle fait partie de la catégorie "Fonctions mathématiques en virgule flottante." 388 31007524 8/2010 EMTH-ERLOG : consignation d'erreurs à virgule flottante Représentation : EMTH - ERLOG : fonctions mathématiques à virgule flottante : consignation d'erreurs Symbole Représentation de l'instruction 31007524 8/2010 389 EMTH-ERLOG : consignation d'erreurs à virgule flottante Description des paramètres Description des paramètres de l'instruction Paramètres Référence de mémoire d'état Type de données Signification Entrée haute 0x, 1x Aucun Activée = Appelle un rapport de types d'erreurs depuis la dernière demande. non utilisée (partie haute) 4x INT, UINT, DINT, UDINT, REAL Non utilisé pendant l'opération (le premier de deux registres successifs) Le premier des deux registres 4xxxx successifs est mémorisé en partie haute. Le deuxième registre est implicite. Ces deux registres ne sont pas utilisés dans l'opération, mais leur affectation en mémoire d'état est nécessaire. données d'erreur (partie médiane) 4x INT, UINT, DINT, UDINT, REAL Registre de consignation des erreurs (le premier de quatre registres successifs) Le premier des quatre registres 4xxxx successifs est mémorisé en partie médiane. Les trois registres restants sont implicites. Le second registre implicite sert de registre de consignation des erreurs. Pour plus d'informations sur la consignation des erreurs, reportez-vous à la table Registre de consignation des erreurs, page 391 dans la section Description des paramètres. Tous les bits du troisième registre implicite ont été remis à zéro. Le registre affiché et le premier registre implicite ne sont pas utilisés, mais leur affectation en mémoire d'état est nécessaire. Conseil : Afin d'économiser des registres, vous pouvez faire correspondre les références 4xxxx du registre affiché et le premier registre implicite de la partie médiane avec les références de registre de la partie haute, puisque ces registres doivent être affectés mais qu'aucun n'est utilisé. ERLOG (partie basse) 390 Sélection de la sous-fonction ERLOG Sortie haute 0x Aucun Activée = Récupération réussie. Sortie médiane 0x Aucun Activée = Valeurs différentes de zéro dans le registre de consignation des erreurs. Désactivée = Le registre de consignation des erreurs contient uniquement des zéros. 31007524 8/2010 EMTH-ERLOG : consignation d'erreurs à virgule flottante Description des paramètres Non utilisé (partie haute) Le premier des deux registres 4x successifs est mémorisé en partie haute. Le deuxième registre est implicite : Registre Contenu Affiché Premier implicite Ces deux registres ne sont pas utilisés dans l'opération, mais leur affectation en mémoire d'état est nécessaire. Données d'erreur (partie médiane) Le premier des quatre registres 4x successifs est mémorisé en partie médiane. Les trois registres restants sont implicites. Registre Contenu Affiché Registre de consignation des erreurs, voir table. Premier implicite Tous les bits de ce registre ont été remis à zéro. Deuxième implicite Troisième implicite Ces deux registres ne sont pas utilisés, mais leur affectation en mémoire d'état est nécessaire. NOTE : Afin d'économiser des registres, vous pouvez affecter les nombres des références 4x au registre affiché et rendre le premier registre implicite de la partie médiane égal aux références de registre de la partie haute, puisque ces registres doivent être affectés mais qu'aucun n'est utilisé. Registre de consignation des erreurs Utilisation du registre de consignation des erreurs : Bit Fonction 1à8 Code de fonction de la dernière erreur consignée 9 à 11 Inutilisé 12 Erreur de conversion Entier/VF 13 Puissance de la fonction exponentielle trop élevée 14 Valeur ou opération VF incorrecte 15 Débordement VF 16 Dépassement négatif VF Si le bit est mis à 1, la condition d'erreur spécifique existe pour ce bit. 31007524 8/2010 391 EMTH-ERLOG : consignation d'erreurs à virgule flottante 392 31007524 8/2010 EMTH-EXP : fonction exponentielle à virgule flottante 31007524 8/2010 EMTH-EXP : fonction exponentielle à virgule flottante 66 Introduction Ce chapitre décrit la sous-fonction EMTH-EXP. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 394 Représentation 395 Description des paramètres 397 393 EMTH-EXP : fonction exponentielle à virgule flottante Description sommaire Description de la fonction Cette instruction est une sous–fonction de l'instruction EMTH. Elle fait partie de la catégorie "Fonctions mathématiques en virgule flottante." 394 31007524 8/2010 EMTH-EXP : fonction exponentielle à virgule flottante Représentation Symbole Représentation de l'instruction 31007524 8/2010 395 EMTH-EXP : fonction exponentielle à virgule flottante Description des paramètres Description des paramètres de l'instruction Paramètres Référence de Type de mémoire données d'état Signification Entrée haute 0x, 1x Aucun Activée = Calcule la fonction exponentielle de la valeur. valeur (partie haute) 4x REAL Valeur au format VF (le premier de deux registres successifs) Le premier des deux registres 4xxxx successifs est mémorisé en partie haute. Le deuxième registre est implicite. Une valeur au format VF comprise entre -87,34 et +88,72 est mémorisée ici. Si la valeur est hors limites, le résultat sera soit 0, soit la valeur maximale. Aucune erreur ne sera signalée. résultat (partie médiane) 4x REAL Exposant de la valeur en partie haute (le premier de quatre registres successifs). Le premier des quatre registres 4xxxx successifs est mémorisé en partie médiane. Les trois registres restants sont implicites. L'exposant de la valeur en partie haute est mémorisé au format VF dans les deuxième et troisième registres implicites. Le registre affiché et le premier registre implicite ne sont pas utilisés, mais leur affectation en mémoire d'état est nécessaire. Conseil : Afin d'économiser des registres, vous pouvez faire correspondre les références 4xxxx du registre affiché et le premier registre implicite de la partie médiane avec les références de registre de la partie haute, puisque les deux premiers registres de la partie médiane ne sont pas utilisés. EXP (partie basse) Sortie haute 396 Sélection de la sous-fonction EXP 0x Aucun Activée = Opération réussie 31007524 8/2010 EMTH-EXP : fonction exponentielle à virgule flottante Description des paramètres Valeur (partie haute) Le premier des deux registres 4x successifs est mémorisé en partie haute. Le deuxième registre est implicite : Registre Contenu Affiché Premier implicite Une valeur au format VF comprise entre -87,34 et +88,72 est mémorisée ici. Si la valeur est hors limites, le résultat sera soit 0, soit la valeur maximale. Aucune erreur ne sera signalée. Résultat (partie médiane) Le premier des quatre registres 4x successifs est mémorisé en partie médiane. Les trois registres restants sont implicites : Registre Contenu Affiché Premier implicite Ces registres ne sont pas utilisés, mais leur affectation en mémoire d'état est nécessaire. Deuxième implicite Troisième implicite L'exposant de la valeur de la partie haute est placé ici au format VF. NOTE : Afin d'économiser des registres, vous pouvez affecter les nombres des références 4x au registre affiché et rendre le premier registre implicite de la partie médiane égal aux références de registre de la partie haute, puisque les deux premiers registres de la partie médiane ne sont pas utilisés. 31007524 8/2010 397 EMTH-EXP : fonction exponentielle à virgule flottante 398 31007524 8/2010 EMTH-LNFP : logarithme népérien à virgule flottante 31007524 8/2010 EMTH-LNFP : logarithme népérien à virgule flottante 67 Introduction Ce chapitre décrit la sous-fonction EMTH-LNFP. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 400 Représentation 401 Description des paramètres 403 399 EMTH-LNFP : logarithme népérien à virgule flottante Description sommaire Description de la fonction Cette instruction est une sous–fonction de l'instruction EMTH. Elle fait partie de la catégorie "Fonctions mathématiques en virgule flottante." 400 31007524 8/2010 EMTH-LNFP : logarithme népérien à virgule flottante Représentation Symbole Représentation de l'instruction 31007524 8/2010 401 EMTH-LNFP : logarithme népérien à virgule flottante Description des paramètres Description des paramètres de l'instruction Paramètres Référence de Type de mémoire données d'état Signification Entrée haute 0x, 1x Aucun Activée = Calcule le logarithme naturel (népérien) de la valeur. valeur (partie haute) 4x REAL Valeur > 0 au format VF (le premier de deux registres successifs). Le premier des deux registres 4xxxx successifs est mémorisé en partie haute. Le deuxième registre est implicite. Une valeur > 0 est mémorisée ici au format VF. Si la valeur est <=0, un résultat non valide sera retourné en partie médiane, et une erreur sera consignée dans la fonction EMTH ERLOG. résultat (partie médiane) 4x REAL Logarithme népérien de la valeur en partie haute (le premier de quatre registres successifs) Le premier des quatre registres 4xxxx successifs est mémorisé en partie médiane. Les trois registres restants sont implicites. Le logarithme népérien de la valeur en partie haute est mémorisé au format VF dans les deuxième et troisième registres implicites. Le registre affiché et le premier registre implicite ne sont pas utilisés, mais leur affectation en mémoire d'état est nécessaire. Conseil : Afin d'économiser des registres, vous pouvez faire correspondre les références 4xxxx du registre affiché et le premier registre implicite de la partie médiane avec les références de registre de la partie haute, puisque les deux premiers registres de la partie médiane ne sont pas utilisés. LNFP (partie basse) Sortie haute 402 Sélection de la sous-fonction LNFP 0x Aucun Activée = Opération réussie 31007524 8/2010 EMTH-LNFP : logarithme népérien à virgule flottante Description des paramètres Valeur (partie haute) Le premier des deux registres 4x successifs est mémorisé en partie haute. Le deuxième registre est implicite : Registre Contenu Affiché Premier implicite Une valeur > 0 est mémorisée ici au format VF. Si la valeur est ≤ 0, un résultat invalide sera retourné en partie médiane et une erreur sera consignée dans la fonction EMTH– ERLOG. Résultat (partie médiane) Le premier des quatre registres 4x successifs est mémorisé en partie médiane. Les trois registres restants sont implicites : Registre Contenu Affiché Premier implicite Ces registres ne sont pas utilisés, mais leur affectation en mémoire d'état est nécessaire. Deuxième implicite Troisième implicite Le logarithme népérien de la valeur de la partie haute est placé ici au format VF. NOTE : Afin d'économiser des registres, vous pouvez affecter les nombres des références 4x au registre affiché et rendre le premier registre implicite de la partie médiane égal aux références de registre de la partie haute, puisque les deux premiers registres de la partie médiane ne sont pas utilisés. 31007524 8/2010 403 EMTH-LNFP : logarithme népérien à virgule flottante 404 31007524 8/2010 EMTH-LOG : logarithme en base 10 31007524 8/2010 EMTH-LOG : logarithme en base 10 68 Introduction Ce chapitre décrit la sous-fonction EMTH-LOG. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 406 Représentation 407 Description des paramètres 409 405 EMTH-LOG : logarithme en base 10 Description sommaire Description de la fonction Cette instruction est une sous–fonction de l'instruction EMTH. Elle fait partie de la catégorie "Fonctions mathématiques sur entiers." 406 31007524 8/2010 EMTH-LOG : logarithme en base 10 Représentation Symbole Représentation de l'instruction 31007524 8/2010 407 EMTH-LOG : logarithme en base 10 Description des paramètres Description des paramètres de l'instruction Paramètres Référence Type de Signification de mémoire données d'état Entrée haute 0x, 1x Aucun Activée = Valide l'opération log(x). source (partie haute) 3x, 4x DINT, UDINT Valeur source (le premier de deux registres successifs). Le premier des deux registres 3xxxx ou 4xxxx successifs est mémorisé en partie haute. Le deuxième registre est implicite. La valeur source à partir de laquelle le calcul du logarithme est effectué est mémorisée dans ces registres. Si vous précisez un registre 4xxxx, la valeur source peut être comprise entre 0 et 99 999 999. La partie poids faible de la valeur est mémorisée dans le registre implicite, et la partie poids fort dans le registre affiché. Si vous précisez un registre 3xxxx, la valeur source peut être comprise entre 0 et 9 999. Le calcul du logarithme est effectué uniquement sur la valeur du registre affiché, le registre implicite est requis, mais il n'est pas utilisé. résultat (partie médiane) 4x INT, UINT Résultat La partie médiane comporte un seul registre de sortie 4xxxx dans lequel est placé le résultat du calcul du logarithme en base 10. Ce résultat est exprimé au format décimal fixe 1,234 et est tronqué après la troisième décimale. Le plus grand résultat pouvant être calculé est 7,999, lequel est alors placé dans le registre médian comme 7 999. LOG (partie basse) 408 Sélection de la sous-fonction LOG Sortie haute 0x Aucun Activée = Opération réussie Sortie médiane 0x Aucun Activée = Erreur ou valeur hors limites 31007524 8/2010 EMTH-LOG : logarithme en base 10 Description des paramètres Valeur source (partie haute) Le premier des deux registres 3x ou 4x successifs est mémorisé en partie haute. Le deuxième registre est implicite. La valeur source à partir de laquelle le calcul du logarithme est effectué, est mémorisée dans ces registres. Si vous précisez un registre 4x, la valeur source peut être comprise entre 0 et 99 999 999 : Registre Contenu Affiché La partie poids fort de la valeur est mémorisée ici. Premier implicite La partie poids faible de la valeur est mémorisée ici. Si vous précisez un registre 3x, la valeur source peut être comprise entre 0 et 9 999 999 : Registre Contenu Affiché La valeur source à partir de laquelle le calcul du logarithme est effectué, est mémorisée ici. Premier implicite Ce registre est requis, mais il n'est pas utilisé. Résultat (partie médiane) La partie médiane comporte un seul registre de sortie 4x dans lequel est placé le résultat du calcul du logarithme de base 10. Ce résultat est exprimé au format décimal fixe 1,234, et est tronqué après la troisième décimale. Le plus grand résultat pouvant être calculé est 7,999, lequel est alors placé dans le registre médian comme 7999. 31007524 8/2010 409 EMTH-LOG : logarithme en base 10 410 31007524 8/2010 EMTH-LOGFP : logarithme en base 10 à virgule flottante 31007524 8/2010 EMTH-LOGFP : logarithme en base 10 à virgule flottante 69 Introduction Ce chapitre décrit la sous-fonction EMTH-LOGFP. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 412 Représentation 413 Description des paramètres 415 411 EMTH-LOGFP : logarithme en base 10 à virgule flottante Description sommaire Description de la fonction Cette instruction est une sous–fonction de l'instruction EMTH. Elle fait partie de la catégorie "Fonctions mathématiques en virgule flottante." 412 31007524 8/2010 EMTH-LOGFP : logarithme en base 10 à virgule flottante Représentation Symbole Représentation de l'instruction 31007524 8/2010 413 EMTH-LOGFP : logarithme en base 10 à virgule flottante Description des paramètres Description des paramètres de l'instruction Paramètres Référence de mémoire d'état Type de données Signification Entrée haute 0x, 1x Aucun Activée = Calcule le logarithme décimal de la valeur. valeur (partie haute) 4x REAL Valeur > 0 au format VF (le premier de deux registres successifs). Le premier des deux registres 4xxxx successifs est mémorisé en partie haute. Le deuxième registre est implicite. Une valeur > 0 est mémorisée ici au format VF. Si la valeur est <=0, un résultat non valide sera retourné en partie médiane, et une erreur sera consignée dans la fonction EMTH ERLOG. résultat (partie médiane) 4x REAL Logarithme en base 10 de la valeur en partie haute (le premier de quatre registres successifs). Le premier des quatre registres 4xxxx successifs est mémorisé en partie médiane. Les trois registres restants sont implicites. Le logarithme en base 10 de la valeur en partie haute est mémorisé au format VF dans les deuxième et troisième registres implicites. Le registre affiché et le premier registre implicite ne sont pas utilisés, mais leur affectation en mémoire d'état est nécessaire. Conseil : Afin d'économiser des registres, vous pouvez faire correspondre les références 4xxxx du registre affiché et le premier registre implicite de la partie médiane avec les références de registre de la partie haute, puisque les deux premiers registres de la partie médiane ne sont pas utilisés. LOGFP (partie basse) Sortie haute 414 Sélection de la sous-fonction LOGFP 0x Aucun Activée = Opération réussie 31007524 8/2010 EMTH-LOGFP : logarithme en base 10 à virgule flottante Description des paramètres Valeur (partie haute) Le premier des deux registres 4x successifs est mémorisé en partie haute. Le deuxième registre est implicite : Registre Contenu Affiché Premier implicite Une valeur > 0 est mémorisée ici au format VF. Si la valeur est ≤ 0, un résultat invalide sera retourné en partie médiane et une erreur sera consignée dans la fonction EMTH– ERLOG. Résultat (partie médiane) Le premier des quatre registres 4x successifs est mémorisé en partie médiane. Les trois registres restants sont implicites : Registre Contenu Affiché Premier implicite Ces registres ne sont pas utilisés, mais leur affectation en mémoire d'état est nécessaire. Deuxième implicite Troisième implicite Le logarithme à base 10 de la valeur de la partie haute est placé ici au format VF. NOTE : Afin d'économiser des registres, vous pouvez affecter les nombres des références 4x au registre affiché et rendre le premier registre implicite de la partie médiane égal aux références de registre de la partie haute, puisque les deux premiers registres de la partie médiane ne sont pas utilisés. 31007524 8/2010 415 EMTH-LOGFP : logarithme en base 10 à virgule flottante 416 31007524 8/2010 EMTH-MULDP : multiplication en double précision 31007524 8/2010 EMTH-MULDP : multiplication en double précision 70 Introduction Ce chapitre décrit la sous-fonction EMTH-MULDP. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 418 Représentation 419 Description des paramètres 421 417 EMTH-MULDP : multiplication en double précision Description sommaire Description de la fonction Cette instruction est une sous–fonction de l'instruction EMTH. Elle fait partie de la catégorie "Fonctions mathématiques en double précision." 418 31007524 8/2010 EMTH-MULDP : multiplication en double précision Représentation Symbole Représentation de l'instruction 31007524 8/2010 419 EMTH-MULDP : multiplication en double précision Description des paramètres Description des paramètres de l'instruction Paramètres Référence de Type de mémoire données d'état Signification Entrée haute 0x, 1x Aucun Activée = Opérande 1 x opérande 2 Produit placé dans les registres désignés opérande 1 (partie haute) 4x DINT, UDINT Opérande 1 (le premier de deux registres successifs) Le premier des deux registres 4x successifs est mémorisé en partie haute. Le deuxième registre 4x est implicite. L'opérande 1 est mémorisé ici. Le deuxième registre 4x est implicite. Chaque registre contient une valeur comprise entre 0000 et 9 999, entre 0 et 99 999 999 pour une valeur à double précision combinée. La partie poids fort de l'opérande 1 est mémorisée dans le registre affiché, et la partie poids faible dans le registre implicite. opérande 2 / produit (partie médiane) 4x DINT, UDINT Opérande 2 et produit (le premier de six registres successifs) Le premier de six registres 4xxxx successifs est mémorisé en partie médiane. Les cinq registres restants sont implicites : z Le registre affiché et le premier registre implicite mémorisent respectivement les parties poids fort et poids faible de l'opérande 2 pour une valeur à double précision combinée comprise entre 0 et 99 999 999. z Les quatre derniers registres impliqués contiennent le produit double précision compris entre 0 et 9 999 999 999 999 999. MULDP (partie basse) 420 Sélection de la sous-fonction MULDP Sortie haute 0x Aucun Activée = Opération réussie Sortie médiane 0x Aucun Activée = Opérande hors limites 31007524 8/2010 EMTH-MULDP : multiplication en double précision Description des paramètres Opérande 1 (partie haute) Le premier des deux registres 4x successifs est mémorisé en partie haute. Le deuxième registre 4x est implicite. L'opérande 1 est mémorisé ici. Registre Contenu Affiché Le registre contient la partie poids faible de l'opérande 1. Plage 0 à 9.999, permettant d'obtenir une valeur double précision combinée comprise entre 0 et 99.999.999. Premier implicite Le registre contient la partie poids fort de l'opérande 1 Plage 0 à 9.999, permettant d'obtenir une valeur double précision combinée comprise entre 0 et 99.999.999. Opérande 2 et produit (partie médiane) Le premier de six registres 4x successifs est placé dans la partie médiane. Les cinq registres restants sont implicites : 31007524 8/2010 Registre Contenu Affiché Le registre contient la partie poids faible de l'opérande 2, respectivement, permettant d'obtenir une valeur double précision combinée comprise entre 0 et 99.999.999. Premier implicite Le registre contient la partie poids fort de l'opérande 2, respectivement, permettant d'obtenir une valeur double précision combinée comprise entre 0 et 99.999.999. Deuxième implicite Troisième implicite Quatrième implicite Cinquième implicite Ces registres contiennent le produit double précision, compris entre 0 et 9.999.999.999.999.999. 421 EMTH-MULDP : multiplication en double précision 422 31007524 8/2010 EMTH-MULFP : multiplication à virgule flottante 31007524 8/2010 EMTH-MULFP : multiplication à virgule flottante 71 Introduction Ce chapitre décrit la sous-fonction EMTH-MULFP. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 424 Représentation 425 Description des paramètres 426 423 EMTH-MULFP : multiplication à virgule flottante Description sommaire Description de la fonction Cette instruction est une sous–fonction de l'instruction EMTH. Elle fait partie de la catégorie "Fonctions mathématiques en virgule flottante." 424 31007524 8/2010 EMTH-MULFP : multiplication à virgule flottante Représentation Symbole Représentation de l'instruction Description des paramètres Description des paramètres de l'instruction Paramètres Référence de mémoire d'état Type de données Signification Entrée haute 0x, 1x Aucun Activée = Déclenche la multiplication VF valeur 1 (partie haute) 4x REAL Valeur 1 à virgule flottante (le premier de deux registres successifs) Le premier des deux registres 4xxxx successifs est mémorisé en partie haute. Le deuxième registre est implicite. La valeur 1 VF de l'opération de multiplication est mémorisée ici. valeur 2 et produit (partie médiane) 4x REAL Valeur 2 à virgule flottante et produit (le premier de quatre registres successifs) Le premier des quatre registres 4xxxx successifs est mémorisé en partie médiane. Les trois registres restants sont implicites. La valeur 2 VF dans l'opération de multiplication est mémorisée dans le registre affiché et dans le premier registre implicite. Le produit de la multiplication est mémorisé au format VF dans les deuxième et troisième registres implicites. MULFP (partie basse) Sortie haute 31007524 8/2010 Sélection de la sous-fonction MULFP 0x Aucun Activée = Opération réussie 425 EMTH-MULFP : multiplication à virgule flottante Description des paramètres Valeur 1 en virgule flottante (partie haute) Le premier des deux registres 4x successifs est mémorisé en partie haute. Le deuxième registre est implicite : Registre Contenu Affiché Premier implicite La valeur 1 VF de l'opération de multiplication est mémorisée ici. Valeur 2 en virgule flottante et produit (partie médiane) Le premier des quatre registres 4x successifs est mémorisé en partie médiane. Les trois registres restants sont implicites : 426 Registre Contenu Affiché Premier implicite La valeur 2 VF de l'opération de multiplication est mémorisée ici. Deuxième implicite Troisième implicite Le produit de la multiplication est mémorisé ici au format VF. 31007524 8/2010 EMTH-MULIF : multiplication Entier x Nombre à virgule flottante 31007524 8/2010 EMTH-MULIF : multiplication Entier x Nombre à virgule flottante 72 Introduction Ce chapitre décrit la sous-fonction EMTH-MULIF. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 428 Représentation 429 Description des paramètres 431 427 EMTH-MULIF : multiplication Entier x Nombre à virgule flottante Description sommaire Description de la fonction Cette instruction est une sous–fonction de l'instruction EMTH. Elle fait partie de la catégorie "Fonctions mathématiques en virgule flottante." 428 31007524 8/2010 EMTH-MULIF : multiplication Entier x Nombre à virgule flottante Représentation Symbole Représentation de l'instruction 31007524 8/2010 429 EMTH-MULIF : multiplication Entier x Nombre à virgule flottante Description des paramètres Description des paramètres de l'instruction Paramètres Référence de Type de mémoire données d'état Signification Entrée haute 0x, 1x Aucun Activée = Déclenche l'opération Entier x VF entier (partie haute) 4x DINT, UDINT Valeur entière (le premier de deux registres successifs) Le premier des deux registres 4xxxx successifs est mémorisé en partie haute. Le deuxième registre est implicite. La valeur entière double précision à multiplier par la valeur VF est enregistrée ici. VF et produit (partie médiane) 4x REAL Valeur VF et produit (le premier de quatre registres successifs) Le premier des quatre registres 4xxxx successifs est mémorisé en partie médiane. Les trois registres restants sont implicites. Le registre affiché et le premier registre implicite mémorisent la valeur VF à multiplier dans l'opération, le produit étant placé dans les deuxième et troisième registres implicites. Le produit est placé au format VF. Le premier des quatre registres 4xxxx successifs est mémorisé en partie médiane. Les trois registres restants sont implicites. Le registre affiché et le premier registre implicite mémorisent la valeur VF à multiplier dans l'opération, le produit étant placé dans les deuxième et troisième registres implicites. Le produit est placé au format VF. MULIF (partie basse) Sortie haute 430 Sélection de la sous-fonction MULIF 0x Aucun ON = Opération réussie 31007524 8/2010 EMTH-MULIF : multiplication Entier x Nombre à virgule flottante Description des paramètres Valeur entière (partie haute) Le premier des deux registres 4x successifs est mémorisé en partie haute. Le deuxième registre est implicite : Registre Contenu Affiché Premier implicite La valeur entière double précision à multiplier par la valeur VF est mémorisée ici. Valeur VF et produit (partie médiane) Le premier des quatre registres 4x successifs est mémorisé en partie médiane. Les trois registres restants sont implicites : 31007524 8/2010 Registre Contenu Affiché Premier implicite La valeur VF à multiplier dans l'opération est mémorisée ici. Deuxième implicite Troisième implicite Le produit de la multiplication est mémorisé ici au format VF. 431 EMTH-MULIF : multiplication Entier x Nombre à virgule flottante 432 31007524 8/2010 EMTH-PI : chargement de la valeur à virgule flottante de "Pi" 31007524 8/2010 EMTH-PI : chargement de la valeur à virgule flottante de "Pi" 73 Introduction Ce chapitre décrit la sous-fonction EMTH-PI. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 434 Représentation 435 Description des paramètres 437 433 EMTH-PI : chargement de la valeur à virgule flottante de "Pi" Description sommaire Description de la fonction Cette instruction est une sous–fonction de l'instruction EMTH. Elle fait partie de la catégorie "Fonctions mathématiques en virgule flottante." 434 31007524 8/2010 EMTH-PI : chargement de la valeur à virgule flottante de "Pi" Représentation Symbole Représentation de l'instruction 31007524 8/2010 435 EMTH-PI : chargement de la valeur à virgule flottante de "Pi" Description des paramètres Description des paramètres de l'instruction Paramètres Référence de Type de mémoire données d'état Signification Entrée haute 0x, 1x Aucun Activée = Charge la valeur VF de π dans le registre de la partie médiane non utilisée (partie haute) 4x REAL Premier de deux registres successifs Le premier des deux registres 4xxxx successifs est mémorisé en partie haute. Le deuxième registre est implicite. Ces registres ne sont pas utilisés, mais leur affectation en mémoire d'état est nécessaire. Valeur VF de π (partie médiane) 4x REAL Valeur VF de π (le premier de quatre registres successifs) Le premier des quatre registres 4xxxx successifs est mémorisé en partie médiane. Les trois registres restants sont implicites. La valeur VF de p est mémorisée dans les deuxième et troisième registres implicites. Le registre affiché et le premier registre implicite ne sont pas utilisés, mais leur affectation en mémoire d'état est nécessaire. Conseil : Afin d'économiser des registres, vous pouvez faire correspondre les références 4xxxx du registre affiché et le premier registre implicite de la partie médiane avec les références de registre de la partie haute, puisque les deux premiers registres de la partie médiane ne sont pas utilisés. PI (partie basse) Sortie haute 436 Sélection de la sous-fonction PI 0x Aucun Activée = Opération réussie 31007524 8/2010 EMTH-PI : chargement de la valeur à virgule flottante de "Pi" Description des paramètres Non utilisé (partie haute) Le premier des deux registres 4x successifs est mémorisé en partie médiane. Le deuxième registre est implicite : Registre Contenu Affiché Premier implicite Ces registres ne sont pas utilisés, mais leur affectation en mémoire d'état est nécessaire. Valeur en virgule flottante de π (partie médiane) Le premier des quatre registres 4x successifs est mémorisé en partie médiane. Les trois registres restants sont implicites : Registre Contenu Affiché Premier implicite Ces registres ne sont pas utilisés, mais leur affectation en mémoire d'état est nécessaire. Deuxième implicite Troisième implicite La valeur VF de π est placée ici. NOTE : Afin d'économiser des registres, vous pouvez affecter les nombres des références 4x au registre affiché et rendre le premier registre implicite de la partie médiane égal aux références de registre de la partie haute, puisque les deux premiers registres de la partie médiane ne sont pas utilisés. 31007524 8/2010 437 EMTH-PI : chargement de la valeur à virgule flottante de "Pi" 438 31007524 8/2010 EMTH-POW : élévation d'un nombre à virgule flottante à une puissance entière 31007524 8/2010 EMTH-POW : élévation d'un nombre à virgule flottante à une puissance entière 74 Introduction Ce chapitre décrit la sous-fonction EMTH-POW. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Description sommaire 440 Représentation : EMTH - POW : élévation d'un nombre à virgule flottante à une puissance entière 441 Description des paramètres 443 439 EMTH-POW : élévation d'un nombre à virgule flottante à une puissance entière Description sommaire Description de la fonction Cette instruction est une sous–fonction de l'instruction EMTH. Elle fait partie de la catégorie "Fonctions mathématiques en virgule flottante." 440 31007524 8/2010 EMTH-POW : élévation d'un nombre à virgule flottante à une puis- Représentation : EMTH - POW : élévation d'un nombre à virgule flottante à une puissance entière Symbole Représentation de l'instruction 31007524 8/2010 441 EMTH-POW : élévation d'un nombre à virgule flottante à une puissance entière Description des paramètres Description des paramètres de l'instruction Paramètres Référence de Type de mémoire données d'état Signification Entrée haute 0x, 1x Aucun Activée = Calcule la valeur VF élevée à la puissance entière Valeur VF (partie haute) 4x REAL Valeur VF (le premier de deux registres successifs) Le premier des deux registres 4xxxx successifs est mémorisé en partie haute. Le deuxième registre est implicite. La valeur VF à élever à la puissance entière est mémorisée ici. INT, UINT Valeur entière et résultat (le premier de quatre registres successifs) Le premier des quatre registres 4xxxx successifs est mémorisé en partie médiane. Les trois registres restants sont implicites. La valeur des bits du registre affiché doit être remise à zéro. Le nombre entier représentant la puissance à laquelle la valeur en partie haute sera élevée est mémorisée dans le premier registre implicite. Le résultat de l'élévation de la valeur VF à une puissance entière est mémorisé dans les deuxième et troisième registres implicites. entier et résultat 4x (partie médiane) POW (partie basse) Sortie haute 442 Sélection de la sous-fonction POW 0x Aucun Activée = Opération réussie 31007524 8/2010 EMTH-POW : élévation d'un nombre à virgule flottante à une puis- Description des paramètres Valeur VF (partie haute) Le premier des deux registres 4x successifs est mémorisé en partie haute. Le deuxième registre est implicite : Registre Contenu Affiché Premier implicite La valeur VF à élever à une puissance entière est mémorisée ici. Entier et résultat (partie médiane) Le premier des quatre registres 4x successifs est mémorisé en partie médiane. Les trois registres restants sont implicites : Registre 31007524 8/2010 Contenu Affiché La valeur des bits de ce registre doit être remise à zéro. Premier implicite Le nombre entier représentant la puissance à laquelle la valeur en partie haute sera élevée est mémorisée ici. Deuxième implicite Troisième implicite Le résultat de l'élévation de la valeur VF à une puissance entière est mémorisé ici. 443 EMTH-POW : élévation d'un nombre à virgule flottante à une puissance entière 444 31007524 8/2010 EMTH-SINE : sinus à virgule flottante d'un angle (en radians) 31007524 8/2010 EMTH-SINE : sinus à virgule flottante d'un angle (en radians) 75 Introduction Ce chapitre décrit la sous-fonction EMTH-SINE. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Description sommaire 446 Représentation : EMTH - SINE - Fonctions mathématiques à virgule flottante Sinus d'un angle (en radians) 447 Description des paramètres 449 445 EMTH-SINE : sinus à virgule flottante d'un angle (en radians) Description sommaire Description de la fonction Cette instruction est une sous–fonction de l'instruction EMTH. Elle fait partie de la catégorie "Fonctions mathématiques en virgule flottante." 446 31007524 8/2010 EMTH-SINE : sinus à virgule flottante d'un angle (en radians) Représentation : EMTH - SINE - Fonctions mathématiques à virgule flottante Sinus d'un angle (en radians) Symbole Représentation de l'instruction 31007524 8/2010 447 EMTH-SINE : sinus à virgule flottante d'un angle (en radians) Description des paramètres Description des paramètres de l'instruction Paramètres Référence de Type de mémoire données d'état Entrée haute 0x, 1x Aucun Activée = Calcule le sinus de la valeur valeur (partie haute) 4x REAL Valeur VF indiquant la valeur d'un angle en radians (le premier de deux registres successifs) Le premier des deux registres 4xxxx successifs est mémorisé en partie haute. Le deuxième registre est implicite. Une valeur VF indiquant la valeur de l'angle en radians est mémorisée ici. Cette valeur doit être < 65536,0 ; dans le cas contraire : z Le sinus n'est pas calculé z Un résultat non valide est retourné z Une erreur est signalée dans la fonction EMTH ERLOG sinus de la valeur (partie médiane) 4x REAL Sinus de la valeur en partie haute (le premier de quatre registres successifs) Le premier des quatre registres 4xxxx successifs est mémorisé en partie médiane. Les trois registres restants sont implicites. Le sinus de la valeur en partie haute est placé dans les deuxième et troisième registres implicites au format VF. Le registre affiché et le premier registre implicite ne sont pas utilisés, mais leur affectation en mémoire d'état est nécessaire. Conseil : Afin d'économiser des registres, vous pouvez faire correspondre les références 4xxxx du registre affiché et le premier registre implicite de la partie médiane avec les références de registre de la partie haute, puisque les deux premiers registres de la partie médiane ne sont pas utilisés. SINE (partie basse) Sortie haute 448 Signification Sélection de la sous-fonction SINE 0x Aucun Activée = Opération réussie* *Une erreur est signalée dans la fonction EMTH ERLOG. 31007524 8/2010 EMTH-SINE : sinus à virgule flottante d'un angle (en radians) Description des paramètres Valeur (partie haute) Le premier des deux registres 4x successifs est mémorisé en partie haute. Le deuxième registre est implicite. Registre Contenu Affiché Premier implicite Une valeur VF indiquant la valeur de l'angle en radians est mémorisée ici. Cette valeur doit être < 65.536,0. Si cette valeur est ≥ 65.536,0 : z Le sinus n'est pas calculé z Un résultat invalide est retourné z Une erreur est signalée dans la fonction EMTH-ERLOG. Sinus de la valeur (partie médiane) Le premier des quatre registres 4x successifs est mémorisé en partie médiane. Les trois registres restants sont implicites. Registre Contenu Affiché Premier implicite Ces registres ne sont pas utilisés, mais leur affectation en mémoire d'état est nécessaire. Deuxième implicite Troisième implicite Le sinus de la valeur de la partie haute est placé ici au format VF. NOTE : Afin d'économiser des registres, vous pouvez affecter les nombres des références 4x au registre affiché et rendre le premier registre implicite de la partie médiane égal aux références de registre de la partie haute, puisque les deux premiers registres de la partie médiane ne sont pas utilisés. 31007524 8/2010 449 EMTH-SINE : sinus à virgule flottante d'un angle (en radians) 450 31007524 8/2010 EMTH-SQRFP : racine carrée à virgule flottante 31007524 8/2010 EMTH-SQRFP : racine carrée à virgule flottante 76 Introduction Ce chapitre décrit la sous-fonction EMTH-SQRFP. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 452 Représentation 453 Description des paramètres 455 451 EMTH-SQRFP : racine carrée à virgule flottante Description sommaire Description de la fonction Cette instruction est une sous–fonction de l'instruction EMTH. Elle fait partie de la catégorie "Fonctions mathématiques en virgule flottante." 452 31007524 8/2010 EMTH-SQRFP : racine carrée à virgule flottante Représentation Symbole Représentation de l'instruction 31007524 8/2010 453 EMTH-SQRFP : racine carrée à virgule flottante Description des paramètres Description des paramètres de l'instruction Paramètres Référence de Type de mémoire données d'état Signification Entrée haute 0x, 1x Aucun Activée = Déclenche la racine carrée de la valeur VF valeur (partie haute) 4x REAL Valeur à virgule flottante (le premier de deux registres successifs) Le premier des deux registres 4xxxx successifs est mémorisé en partie haute. Le deuxième registre est implicite. La valeur VF pour laquelle l'opération racine carrée est effectuée est mémorisée ici. résultat (partie médiane) 4x REAL Résultat au format VF (le premier de quatre registres successifs) Le premier des quatre registres 4xxxx successifs est mémorisé en partie médiane. Les trois registres restants sont implicites. Le résultat de l'opération racine carrée est placé au format VF dans les deuxième et troisième registres implicites. Le registre affiché et le premier registre implicite de la partie médiane ne sont pas utilisés pendant l'opération, mais leur affectation en mémoire d'état est nécessaire. Conseil : Afin d'économiser des registres, vous pouvez faire correspondre les références 4xxxx du registre affiché et le premier registre implicite de la partie médiane avec les références de registre de la partie haute, puisque les deux premiers registres de la partie médiane ne sont pas utilisés. SQRFP (partie basse) Sortie haute 454 Sélection de la sous-fonction SQRFP 0x Aucun Activée = Opération réussie 31007524 8/2010 EMTH-SQRFP : racine carrée à virgule flottante Description des paramètres Valeur en virgule flottante (partie haute) Le premier des deux registres 4x successifs est mémorisé en partie haute. Le deuxième registre est implicite. Registre Contenu Affiché Premier implicite La valeur VF pour laquelle l'opération racine carrée est effectuée est mémorisée ici. Résultat (partie médiane) Le premier des quatre registres 4x successifs est mémorisé en partie médiane. Les trois registres restants sont implicites. Registre Contenu Affiché Premier implicite Ces registres ne sont pas utilisés, mais leur affectation en mémoire d'état est nécessaire. Deuxième implicite Troisième implicite Le résultat de l'opération racine carrée est placé ici au format VF. NOTE : Afin d'économiser des registres, vous pouvez affecter les nombres des références 4x au registre affiché et rendre le premier registre implicite de la partie médiane égal aux références de registre de la partie haute, puisque les deux premiers registres de la partie médiane ne sont pas utilisés. 31007524 8/2010 455 EMTH-SQRFP : racine carrée à virgule flottante 456 31007524 8/2010 EMTH-SQRT : racine carrée à virgule flottante 31007524 8/2010 EMTH-SQRT : racine carrée à virgule flottante 77 Introduction Ce chapitre décrit la sous-fonction EMTH-SQRT. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 458 Représentation 459 Description des paramètres 461 457 EMTH-SQRT : racine carrée à virgule flottante Description sommaire Description de la fonction Cette instruction est une sous–fonction de l'instruction EMTH. Elle fait partie de la catégorie "Fonctions mathématiques sur entiers." 458 31007524 8/2010 EMTH-SQRT : racine carrée à virgule flottante Représentation Symbole Représentation de l'instruction 31007524 8/2010 459 EMTH-SQRT : racine carrée à virgule flottante Description des paramètres Description des paramètres de l'instruction Paramètres Référence de Type de mémoire données d'état Signification Entrée haute 0x, 1x Aucun Activée = Déclenche une opération racine carrée standard source (partie haute) 3x, 4x DINT, UDINT Valeur source (le premier de deux registres successifs) Le premier des deux registres 3xxxx ou 4xxxx successifs est mémorisé en partie haute. Le deuxième registre est implicite. La valeur source (valeur dont est extraite la racine carrée) est mémorisée ici. Si vous précisez un registre 4xxxx, la valeur source peut être comprise entre 0 et 99 999 999. La partie poids faible de la valeur est mémorisée dans le registre implicite et la partie poids fort dans le registre affiché. Si vous précisez un registre 3xxxx, la valeur source peut être comprise entre 0 et 9 999. Le calcul de la racine carrée est effectué uniquement sur la valeur du registre affiché. En effet, le registre implicite est requis, mais il n'est pas utilisé. résultat (partie médiane) 4x DINT, UDINT Résultat (le premier de deux registres successifs) Entrez le premier des deux registres 4xxxx successifs en partie médiane. Le deuxième registre est implicite. Le résultat de l'opération racine carrée standard est mémorisé ici. Le résultat est mémorisé au format décimal fixe suivant : "1234,5600,". Les valeurs sur quatre chiffres situées à gauche et à droite de la première virgule décimale sont respectivement mémorisées dans le registre affiché et dans le registre implicite. Les nombres sont tronqués après la seconde virgule décimale ; aucun arrondi n'est réalisé. SQRT (partie basse) 460 Sélection de la sous-fonction SQRT Sortie haute 0x Aucun Activée = Opération réussie Sortie médiane 0x Aucun Activée = Valeur source hors limites 31007524 8/2010 EMTH-SQRT : racine carrée à virgule flottante Description des paramètres Valeur source (partie haute) Le premier des deux registres 3x ou 4x successifs est mémorisé en partie haute. Le deuxième registre est implicite. La valeur source, c'est–à–dire la valeur dont est extraite la racine carrée, est mémorisée ici. Si vous précisez un registre 4x, la valeur source peut être comprise entre 0 et 99 999 999 : Registre Contenu Affiché La partie poids fort de la valeur est mémorisée ici. Premier implicite La partie poids faible de la valeur est mémorisée ici. Si vous précisez un registre 3x, la valeur source peut être comprise entre 0 et 9 999 : Registre Contenu Affiché Le calcul de la racine carrée est effectué uniquement sur la valeur du registre affiché Premier implicite Ce registre est requis, mais il n'est pas utilisé. Résultat (partie médiane) Entrez le premier des deux registres 4x successifs en partie médiane. Le deuxième registre est implicite. Le résultat de l'opération racine carrée standard est mémorisé ici au format décimal fixe : 1234.5600.:. Registre Contenu Affiché Ce registre mémorise la valeur sur quatre chiffres à gauche du premier point décimal. Premier implicite Ce registre mémorise la valeur sur quatre chiffres à droite du premier point décimal. NOTE : Les nombres sont tronqués après le second point décimal ; il n'est pas effectué d'arrondi. 31007524 8/2010 461 EMTH-SQRT : racine carrée à virgule flottante 462 31007524 8/2010 EMTH-SQRTP : racine carrée procédé 31007524 8/2010 EMTH-SQRTP : racine carrée procédé 78 Introduction Ce chapitre décrit la sous-fonction EMTH-SQRTP. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 464 Représentation 465 Description des paramètres 467 Exemple 468 463 EMTH-SQRTP : racine carrée procédé Description sommaire Description de la fonction Cette instruction est une sous–fonction de l'instruction EMTH. Elle fait partie de la catégorie "Fonctions mathématiques sur entiers." La fonction racine carrée procédé adapte la fonction standard racine carrée aux applications de régulation analogique en boucle fermée. Elle prend le résultat de la racine carrée standard, le multiplie par 63.9922 (racine carrée de 4 095) et mémorise ce résultat linéarisé dans les registres de la partie médiane. La racine carrée procédé est souvent utilisée afin de linéariser les signaux de transmetteurs de débit à pression différentielle, de sorte qu'ils puissent être utilisés comme entrées dans des opérations de régulation en boucle fermée. 464 31007524 8/2010 EMTH-SQRTP : racine carrée procédé Représentation Symbole Représentation de l'instruction 31007524 8/2010 465 EMTH-SQRTP : racine carrée procédé Description des paramètres Description des paramètres de l'instruction Paramètres Référence de Type de mémoire données d'état Signification Entrée haute 0x, 1x Aucun Activée = Déclenche l'opération racine carrée procédé source (partie haute) 3x, 4x DINT, UDINT Valeur source (le premier de deux registres successifs). Le premier des deux registres 3xxxx ou 4xxxx successifs est mémorisé en partie haute. Le deuxième registre est implicite. La valeur source (valeur dont est extraite la racine carrée) est mémorisée dans ces deux registres. Pour générer des valeurs significatives, la valeur source ne doit pas dépasser 4 095. Dans un groupe de registres 4xxxx, la valeur source est mémorisée dans le registre implicite, tandis que dans un groupe de registres 3xxxx, la valeur source est mémorisée dans le registre affiché. résultat linéarisé (partie médiane) 4x DINT, UDINT Résultat linéarisé (le premier de deux registres successifs) Le premier des deux registres 4xxxx successifs est mémorisé en partie médiane. Le deuxième registre est implicite. Le résultat linéarisé de l'opération racine carrée procédé est mémorisé ici. Le résultat est mémorisé au format décimal fixe suivant : "1234,5600,". Les valeurs sur quatre chiffres situées à gauche et à droite de la première virgule décimale sont respectivement mémorisées dans le registre affiché et dans le registre implicite. Les nombres sont tronqués après la seconde virgule décimale ; aucun arrondi n'est réalisé. SQRTP (partie basse) 466 Sélection de la sous-fonction SQRPT Sortie haute 0x Aucun Activée = Opération réussie Sortie médiane 0x Aucun Activée = Valeur source hors limites 31007524 8/2010 EMTH-SQRTP : racine carrée procédé Description des paramètres Valeur source (partie haute) Le premier des deux registres 3x ou 4x successifs est mémorisé en partie haute. Le deuxième registre est implicite. La valeur source, c'est–à–dire la valeur dont est extraite la racine carrée, est mémorisée ici. Pour générer des valeurs significatives, la valeur source ne doit pas dépasser 4.095. Si vous spécifiez un registre 4x : Registre Contenu Affiché Inutilisé Premier implicite La valeur source est mémorisée ici Si vous spécifiez un registre 3x : Registre Contenu Affiché La valeur source est mémorisée ici Premier implicite Non utilisé. Résultat linéarisé (partie médiane) Le premier des deux registres 4x successifs est mémorisé en partie médiane. Le deuxième registre est implicite. Le résultat linéarisé de l'opération racine carrée procédé est mémorisé ici au format décimal fixe 1234.5600.. Registre Contenu Affiché Ce registre mémorise la valeur sur quatre chiffres à gauche du premier point décimal. Premier implicite Ce registre mémorise la valeur sur quatre chiffres à droite du premier point décimal. NOTE : Les nombres sont tronqués après le second point décimal ; il n'est pas effectué d'arrondi. 31007524 8/2010 467 EMTH-SQRTP : racine carrée procédé Exemple Fonction racine carrée procédé Cet exemple présente brièvement le mode de calcul d'une racine carrée procédé. Instruction Supposons qu'une valeur source de 2000 est mémorisée dans le registre 300030 de la fonction EMTH SQRTP. D'abord, une opération racine carrée standard est effectuée : Le résultat est ensuite multiplié par 63.9922 pour aboutir au résultat linéarisé de 2861.63 : Le résultat linéarisé est placé dans les deux registres de la partie médiane : 468 Registre Partie du résultat 400030 2861 (valeur sur quatre chiffres à gauche du premier point décimal) 400031 6300 (valeur sur quatre chiffres à droite du premier point décimal) 31007524 8/2010 EMTH-SUBDP : soustraction en double précision 31007524 8/2010 EMTH-SUBDP : soustraction en double précision 79 Introduction Ce chapitre décrit la sous-fonction EMTH-SUBDP. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Description sommaire 470 Représentation : EMTH - SUBDP : Fonctions mathématiques en double précision : Soustraction 471 Description des paramètres 473 469 EMTH-SUBDP : soustraction en double précision Description sommaire Description de la fonction Cette instruction est une sous–fonction de l'instruction EMTH. Elle fait partie de la catégorie "Fonctions mathématiques en double précision." 470 31007524 8/2010 EMTH-SUBDP : soustraction en double précision Représentation : EMTH - SUBDP : Fonctions mathématiques en double précision : Soustraction Symbole Représentation de l'instruction 31007524 8/2010 471 EMTH-SUBDP : soustraction en double précision Description des paramètres Description des paramètres d'instruction Paramètres Référence Type de de mémoire données d'état Signification Entrée haute 0x, 1x Aucun Etat actif = soustrait l'opérande 2 de l'opérande 1 et place la différence dans les registres désignés Opérande 1 (partie haute) 4x DINT, UDINT Opérande 1 (le premier de deux registres successifs). Le premier des deux registres 4xxxx successifs est mémorisé en partie haute. Le deuxième registre 4xxxx est implicite. L'opérande 1 est mémorisé ici. Chaque registre contient une valeur comprise entre 0000 et 9999, entre 0 et 99.999.999 pour une valeur à double précision combinée. La partie poids fort de l'opérande 1 est mémorisée dans le registre affiché, et la partie poids faible dans le registre implicite. Opérande 2 / différence (partie médiane) 4x DINT, UDINT Opérande 2 et différence (le premier de six registres successifs) Le premier de six registres 4xxxx successifs est placé dans la partie médiane. Les cinq registres restants sont implicites : z Le registre affiché et le premier registre implicite mémorisent respectivement les parties poids fort et poids faible de l'opérande 2 pour une valeur à double précision combinée comprise entre 0 et 99.999.999. z Les deuxième et troisième registres implicites mémorisent respectivement les parties poids fort et poids faible de la différence absolue au format double précision z La valeur mémorisée dans le quatrième registre implicite indique si les opérandes sont ou non situés dans la plage valide (1 = hors limites, 0 = dans la plage) z Le cinquième registre implicite n'est pas utilisé dans ce calcul, mais doit exister en mémoire d'état. SUBDP (partie basse) 472 Sélection de la sous–fonction SUBDP Sortie haute 0x Aucun Etat actif = opérande 1 > opérande 2 Sortie médiane 0x Aucun Etat actif = opérande 1 = opérande 2 Sortie basse 0x Aucun Etat actif = opérande 1 < opérande 2 31007524 8/2010 EMTH-SUBDP : soustraction en double précision Description des paramètres Opérande 1 (partie haute) Le premier des deux registres 4x successifs est mémorisé en partie haute. Le deuxième registre 4x est implicite. L'opérande 1 est mémorisé ici. Registre Contenu Affiché Le registre contient la partie poids faible de l'opérande 1. Plage 0 à 9.999, permettant d'obtenir une valeur double précision combinée comprise entre 0 et 99.999.999. Premier implicite Le registre contient la partie poids fort de l'opérande 1 Plage 0 à 9.999, permettant d'obtenir une valeur double précision combinée comprise entre 0 et 99.999.999. Opérande 2 et produit (partie médiane) Le premier de six registres 4x successifs est mémorisé en partie médiane. Les cinq registres restants sont implicites : 31007524 8/2010 Registre Contenu Affiché Le registre contient la partie poids faible de l'opérande 2 permettant d'obtenir une valeur double précision combinée comprise entre 0 et 99.999.999. Premier implicite Le registre contient la partie poids fort de l'opérande 2 permettant d'obtenir une valeur double précision combinée comprise entre 0 et 99.999.999. Deuxième implicite Ce registre contient la partie poids faible de la différence absolue, au format double précision. Troisième implicite Ce registre contient la partie poids fort de la différence absolue, au format double précision. Quatrième implicite 0 = opérandes compris dans les limites. 1 = opérandes hors limites. Cinquième implicite Ce registre n'est pas utilisé dans le calcul, mais doit exister en mémoire d'état. 473 EMTH-SUBDP : soustraction en double précision 474 31007524 8/2010 EMTH-SUBFI : soustraction virgule flottante - entier 31007524 8/2010 EMTH-SUBFI : soustraction virgule flottante – entier 80 Introduction Ce chapitre décrit la sous-fonction EMTH-SUBFI. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 476 Représentation 477 Description des paramètres 478 475 EMTH-SUBFI : soustraction virgule flottante - entier Description sommaire Description de la fonction Cette instruction est une sous–fonction de l'instruction EMTH. Elle fait partie de la catégorie "Fonctions mathématiques en virgule flottante." 476 31007524 8/2010 EMTH-SUBFI : soustraction virgule flottante - entier Représentation Symbole Représentation de l'instruction Description des paramètres Description des paramètres de l'instruction Paramètres Référence Type de Signification de mémoire données d'état Entrée haute 0x, 1x Aucun Activée = Déclenche l'opération VF - entier VF (partie haute) 4x REAL Valeur à virgule flottante (le premier de deux registres successifs) Le premier des deux registres 4xxxx successifs est mémorisé en partie haute. Le deuxième registre est implicite. La valeur VF de laquelle la valeur entière est soustraite est mémorisée ici. entier et différence (partie médiane) 4x DINT, UDINT Valeur entière et différence (le premier de quatre registres successifs) Le premier des quatre registres 4xxxx successifs est mémorisé en partie médiane. Les trois registres restants sont implicites. Le registre affiché et le premier registre implicite mémorisent la valeur entière double précision à soustraire de la valeur VF, la différence étant placée dans les deuxième et troisième registres implicites. La différence est placée au format VF. SUBFI (partie basse) Sortie haute 31007524 8/2010 Sélection de la sous-fonction SUBFI 0x Aucun Activée = Opération réussie 477 EMTH-SUBFI : soustraction virgule flottante - entier Description des paramètres Valeur en virgule flottante (partie haute) Le premier des deux registres 4x successifs est mémorisé en partie haute. Le deuxième registre est implicite. Registre Contenu Affiché Premier implicite La valeur VF de laquelle la valeur entière est soustraite est mémorisée ici. Sinus de la valeur (partie médiane) Le premier des quatre registres 4x successifs est mémorisé en partie médiane. Les trois registres restants sont implicites. 478 Registre Contenu Affiché Premier implicite Les registres contiennent la valeur entière double précision à soustraire de la valeur VF. Deuxième implicite Troisième implicite La différence est placée ici au format VF. 31007524 8/2010 EMTH-SUBFP : soustraction à virgule flottante 31007524 8/2010 EMTH-SUBFP : soustraction à virgule flottante 81 Introduction Ce chapitre décrit la sous-fonction EMTH-SUBFP. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 480 Représentation 481 Description des paramètres 482 479 EMTH-SUBFP : soustraction à virgule flottante Description sommaire Description de la fonction Cette instruction est une sous–fonction de l'instruction EMTH. Elle fait partie de la catégorie "Fonctions mathématiques en virgule flottante." 480 31007524 8/2010 EMTH-SUBFP : soustraction à virgule flottante Représentation Symbole Représentation de l'instruction Description des paramètres Description des paramètres de l'instruction Paramètres Référence Type de de mémoire données d'état Signification Entrée haute 0x, 1x Aucun Activée = Déclenche la soustraction à virgule flottante valeur 1 - valeur 2 valeur 1 (partie haute) 4x REAL Valeur 1 à virgule flottante (le premier de deux registres successifs) Le premier des deux registres 4xxxx successifs est mémorisé en partie haute. Le deuxième registre est implicite. La valeur 1 VF (valeur dont est soustraite la valeur 2) est mémorisée ici. valeur 2 et différence (partie médiane) 4x REAL Valeur 2 à virgule flottante et différence (le premier de quatre registres successifs) Le premier des quatre registres 4xxxx successifs est mémorisé en partie médiane. Les trois registres restants sont implicites. La valeur 2 VF (valeur à soustraire de la valeur 1) est mémorisée dans le registre affiché et dans le premier registre implicite. La différence de la soustraction est mémorisée au format VF dans les deuxième et troisième registres implicites. SUBFP (partie basse) Sortie haute 31007524 8/2010 Sélection de la sous-fonction SUBFP 0x Aucun Activée = Opération réussie 481 EMTH-SUBFP : soustraction à virgule flottante Description des paramètres Valeur 1 en virgule flottante (partie haute) Le premier des deux registres 4x successifs est mémorisé en partie haute. Le deuxième registre est implicite. Registre Contenu Affiché Premier implicite La valeur 1 VF (valeur dont est soustraite la valeur 2) est mémorisée ici. Valeur 2 en virgule flottante (partie haute) Le premier des quatre registres 4x successifs est mémorisé en partie médiane. Les trois registres restants sont implicites. 482 Registre Contenu Affiché Premier implicite La valeur VF 2 (valeur à soustraire de la valeur 1) est mémorisée dans ces registres. Deuxième implicite Troisième implicite La différence de la soustraction est mémorisée ici au format VF. 31007524 8/2010 EMTH-SUBIF : soustraction entier - virgule flottante 31007524 8/2010 EMTH-SUBIF : soustraction entier – virgule flottante 82 Introduction Ce chapitre décrit la sous-fonction EMTH-SUBIF. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 484 Représentation 485 Description des paramètres 486 483 EMTH-SUBIF : soustraction entier - virgule flottante Description sommaire Description de la fonction Cette instruction est une sous–fonction de l'instruction EMTH. Elle fait partie de la catégorie "Fonctions mathématiques en virgule flottante." 484 31007524 8/2010 EMTH-SUBIF : soustraction entier - virgule flottante Représentation Symbole Représentation de l'instruction Description des paramètres Description des paramètres de l'instruction Paramètres Référence de mémoire d'état Type de Signification données Entrée haute 0x, 1x Aucun Activée = Déclenche l'opération entier - VF entier (partie haute) 4x DINT, UDINT Valeur entière (le premier de deux registres successifs) Le premier des deux registres 4xxxx successifs est mémorisé en partie haute. Le deuxième registre est implicite. La valeur entière double précision dont est soustraite la valeur VF est mémorisée ici. REAL Valeur VF et différence (le premier de quatre registres successifs). Le premier des quatre registres 4xxxx successifs est mémorisé en partie médiane. Les trois registres restants sont implicites. Le registre affiché et le premier registre implicite mémorisent la valeur VF à soustraire de la valeur entière, la différence étant placée dans les deuxième et troisième registres implicites. La différence est placée au format VF. VF et différence 4x (partie médiane) SUBIF (partie basse) Sortie haute 31007524 8/2010 Sélection de la sous-fonction SUBIF 0x Aucun Activée = Opération réussie 485 EMTH-SUBIF : soustraction entier - virgule flottante Description des paramètres Valeur entière (partie haute) Le premier des deux registres 4x successifs est mémorisé en partie haute. Le deuxième registre est implicite. Registre Contenu Affiché Premier implicite La valeur entière double précision dont est soustraite la valeur VF est mémorisée ici. Valeur VF et différence (partie médiane) Le premier des quatre registres 4x successifs est mémorisé en partie médiane. Les trois registres restants sont implicites. 486 Registre Contenu Affiché Premier implicite Les registres contiennent la valeur VF à soustraire de la valeur entière. Deuxième implicite Troisième implicite La différence est placée ici au format VF. 31007524 8/2010 EMTH-TAN : tangente à virgule flottante d'un angle (en radians) 31007524 8/2010 EMTH-TAN : tangente à virgule flottante d'un angle (en radians) 83 Introduction Ce chapitre décrit la sous-fonction EMTH-TAN. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 488 Représentation 489 Description des paramètres 490 487 EMTH-TAN : tangente à virgule flottante d'un angle (en radians) Description sommaire Description de la fonction Cette instruction est une sous–fonction de l'instruction EMTH. Elle fait partie de la catégorie "Fonctions mathématiques en virgule flottante." 488 31007524 8/2010 EMTH-TAN : tangente à virgule flottante d'un angle (en radians) Représentation Symbole Représentation de l'instruction Description des paramètres Description des paramètres de l'instruction Paramètres Type de Signification Référence de mémoire données d'état Entrée haute 0x, 1x Aucun Activée= Calcule la tangente de la valeur valeur (partie haute) 4x REAL Valeur VF indiquant la valeur d'un angle en radians (le premier de deux registres successifs) Le premier des deux registres 4xxxx successifs est mémorisé en partie haute. Le deuxième registre est implicite. Une valeur au format VF indiquant la valeur de l'angle en radians est mémorisée ici. Cette valeur doit être < 65536,0 ; dans le cas contraire : z La tangente n'est pas calculée z Un résultat non valide est retourné z Une erreur est signalée dans la fonction EMTH ERLOG tangente de la valeur (partie médiane) 4x REAL Tangente de la valeur en partie haute (le premier de quatre registres successifs) TAN (partie basse) Sortie haute 31007524 8/2010 Sélection de la sous-fonction TAN 0x Aucun Activée = Opération réussie* *Une erreur est signalée dans la fonction EMTH ERLOG. 489 EMTH-TAN : tangente à virgule flottante d'un angle (en radians) Description des paramètres Valeur (partie haute) Le premier des deux registres 4x successifs est mémorisé en partie haute. Le deuxième registre est implicite. Registre Contenu Affiché Premier implicite Une valeur VF indiquant la valeur de l'angle en radians est mémorisée ici. Cette valeur doit être < 65.536,0. Si cette valeur est ≥ 65.536,0 : La tangente n'est pas calculée. z Un résultat invalide est retourné. z Une erreur est signalée dans la fonction EMTH-ERLOG. z Tangente de la valeur (partie médiane) Le premier des quatre registres 4x successifs est mémorisé en partie médiane. Les trois registres restants sont implicites. Registre Contenu Affiché Premier implicite Ces registres ne sont pas utilisés, mais leur affectation en mémoire d'état est nécessaire. Deuxième implicite Troisième implicite La tangente de la valeur de la partie haute est placée ici au format VF. NOTE : Afin d'économiser des registres, vous pouvez affecter les nombres des références 4x au registre affiché et rendre le premier registre implicite de la partie médiane égal aux références de registre de la partie haute, puisque les deux premiers registres de la partie médiane ne sont pas utilisés. 490 31007524 8/2010 ESI : prise en charge du module ESI 31007524 8/2010 ESI : prise en charge du module ESI 84 Introduction Ce chapitre décrit l'instruction ESI. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 492 Représentation 493 Description des paramètres 494 READ ASCII Message (sous-fonction 1) 497 WRITE ASCII Message (sous-fonction 2) 502 GET DATA (sous-fonction 3) 503 PUT DATA (sous-fonction 4) 505 ABORT (entrée médiane à l'état actif) 510 Erreurs d'exécution 511 491 ESI : prise en charge du module ESI Description sommaire Description de la fonction NOTE : Cette instruction n'est disponible que si vous avez décompacté et installé les instructions chargeables DX. Pour plus d'informations, reportez-vous au chapitre Installation des instructions chargeables DX, page 79. Les instructions du module ESI 140 ESI 062 10 sont des instructions chargeables optionnelles pouvant être utilisées dans un système d'automate Quantum pour prendre en charge les opérations utilisant un module ESI. L'automate peut utiliser l'instruction ESI pour appeler le module. La puissance d'une instruction chargeable réside dans sa capacité à générer une séquence de commandes sur un ou plusieurs cycles logiques. Avec l'instruction ESI, l'automate peut appeler le module ESI pour : lire un message ASCII à partir d'un port série du module ESI, puis effectuer une séquence de transferts GET DATA du module vers l'automate ; z écrire un message ASCII vers un port série du module ESI après avoir effectué une séquence de transferts PUT DATA vers les registres de données variables du module ; z effectuer une séquence de transferts GET DATA (jusqu'à 16 384 registres de données du module ESI vers l'automate) ; un transfert Get Data déplacera jusqu'à 10 registres de données à chaque exécution de l'instruction ; z effectuer une séquence de transferts PUT DATA (jusqu'à 16 384 registres de données de l'automate vers le module ESI). Un transfert PUT DATA déplace jusqu'à 10 registres de données à chaque exécution de l'instruction ; z annuler la séquence de commandes d'instructions chargeables ESI en cours. z NOTE : Après avoir placé l'instruction ESI dans votre langage à contacts, vous devez entrer les paramètres inférieurs, médians et supérieurs. Cliquez deux fois sur l'instruction. Cette action génère un formulaire pour la saisie des 3 paramètres. Ces paramètres doivent être renseignés pour activer la fonction de zoom DX dans le menu déroulant Edition. 492 31007524 8/2010 ESI : prise en charge du module ESI Représentation Symbole Représentation de l'instruction Description des paramètres Description des paramètres d'instruction 31007524 8/2010 Paramètres Référence de Type de mémoire données d'état Entrée haute Signification 0x, 1x Aucun Etat actif = active la sous-fonction. Entrée médiane 0x, 1x Aucun Annule le message courant. Sous–fonction (partie haute) 4x INT, UINT, WORD Nombre de sous-fonctions possibles, de 1 à 4. Paramètres de 4x la sous-fonction (partie médiane) INT, UINT, WORD Premier de dix-huit registres de sortie 4x successifs contenant les paramètres de la sous-fonction. Longueur (partie basse) INT, UINT Nombre de registres de paramètres de la sous-fonction, c'est-à-dire la longueur du tableau de la partie médiane. Sortie haute 0x Aucun Donne une image de l'état de l'entrée haute. Sortie médiane 0x Aucun Etat actif = opération effectuée Sortie basse 0x Aucun Etat actif = erreur détectée 493 ESI : prise en charge du module ESI Description des paramètres Entrée haute Lorsque l'entrée de la partie haute est activée, elle active l'instruction ESI et commence à exécuter la commande indiquée par le code de sous-fonction dans la partie haute. Entrée médiane Lorsque l'entrée de la partie médiane est activée, une commande d'abandon est émise. Si un message est en cours lorsque la commande d'ABANDON est reçue, l'instruction sera terminée ; si un transfert de données est en cours lorsque la commande d'ABANDON est reçue, le transfert sera interrompu et l'instruction sera terminée. N° de sous-fonction (partie haute) La partie haute peut contenir soit un registre 4x, soit un entier. L'entier ou la valeur du registre doit être compris entre 1 et 4. Il représente l'une des quatre séquences de commandes de sous-fonction possibles que l'instruction doit exécuter : Sousfonction Séquence de commandes 1 Commande (READ ASCII Message, page 497) suivie par plusieurs commandes GET DATA 2 Plusieurs commandes PUT DATA suivies d'une commande (WRITE ASCII Message, page 502) 3 Zéro commande (GET DATA, page 503) ou plus 4 Zéro commande (PUT DATA, page 505) ou plus NOTE : Une cinquième commande, (ABORT ASCII Message (voir page 510)), peut être initiée en activant l'entrée médiane dans l'instruction ESI. Paramètres de la sous-fonction (partie médiane) Le premier des dix-huit registres 4x successifs est mémorisé en partie médiane. Les dix-sept registres restants sont implicites. Les paramètres de sous-fonction suivants sont disponibles : 494 Registre Paramètres Contenu Affiché Registre d'état ESI Codes d'erreur renvoyés 31007524 8/2010 ESI : prise en charge du module ESI Registre Paramètres Contenu Premier implicite Adresse du premier registre 4x dans la structure de la commande Adresse du registre moins le 4 du début et tous les premiers zéros, comme indiqué dans l'affectation des E/S (par exemple, 1 représente le registre 400001) Deuxième implicite Adresse du premier registre 3x dans la structure de la commande Adresse du registre moins le 3 du début et tous les premiers zéros, comme indiqué dans l'affectation des E/S (par exemple, 7 représente le registre 300007) Troisième implicite Adresse du premier registre 4x dans la zone du registre de données de l'automate Adresse du registre moins le 4 du début et les premiers zéros (par exemple, 100 représente le registre 400100) Quatrième Adresse du premier registre 3x implicite dans la zone du registre de données de l'automate Adresse du registre moins le 3 du début et les premiers zéros (par exemple, 1000 représente le registre 301000) Cinquième Registre de départ de la zone du Nombre compris entre 0 et 3FFF implicite registre de données du module (hexadécimal) Sixième implicite Compteur de transferts de données Nombre compris entre 0 et 4000 (hexadécimal) Septième implicite Valeur du timeout d'ESI, par incrément de 100 ms Nombre compris entre 0 et FFFF (hexadécimal), où 0 signifie "pas de timeout" Huitième implicite Numéro du message ASCII Nombre compris entre 1 et 255 (décimal) Neuvième implicite Numéro de port ASCII 1 ou 2 Note Les registres ci-dessous sont utilisés en interne par l'instruction chargeable ESI. N'écrivez pas dans des registres pendant l'exécution de l'instruction chargeable ESI. Pour une utilisation optimale, initialisez ces registres à 0 (zéro) lorsque l'instruction chargeable est insérée dans la logique. 31007524 8/2010 10ème implicite Puissance du cycle précédent de l'instruction chargeable ESI en état 11ème implicite Données restant à transférer 12ème implicite Commande de module ASCII courant en cours 13ème implicite Numéro de séquence de l'instruction chargeable ESI 14ème implicite Drapeaux de l'instruction chargeable ESI 15ème implicite Valeur du timeout de l'instruction chargeable ESI (MSW) 16ème implicite Valeur du timeout de l'instruction chargeable ESI (LSW) 17ème implicite Total de contrôle de la table des paramètres générée par l'instruction chargeable ESI 495 ESI : prise en charge du module ESI NOTE : Une fois l'entrée haute alimentée, l'instruction chargeable ESI est lancée. Tant que l'instruction chargeable ESI n'est pas compilée (et que la compilation réussisse ou génère une erreur), les paramètres de la sous-fonction ne doivent pas être modifiés. Si l'instruction chargeable ESI détecte une modification, elle se compilera avec une erreur (Table des paramètres). Longueur (partie basse) La partie basse contient la longueur du tableau de la partie médiane, c'est-à-dire le nombre de registres de paramètres de la sous-fonction. Pour les opérations READ/WRITE, la longueur doit être de 10 registres. Pour les opérations PUT/GET, la longueur doit être de huit registres ; vous pouvez en indiquer 10 et les deux derniers registres seront inutilisés. Sorties NOTE : NSUP doit être chargé avant ESI pour que l'instruction chargeable fonctionne correctement. Si ESI est chargé avant NSUP ou que ESI est chargé seul, les trois sorties seront activées. Sortie médiane La sortie médiane est activée pour un cycle lorsque l'opération de la sous-fonction indiquée dans la partie haute est terminée, a dépassé les limites de temps ou est abandonnée. Sortie basse La sortie basse est activée pour un cycle si une erreur a été détectée. Le contrôle des erreurs est la première opération exécutée sur l'instruction lorsqu'elle est activée ; ce contrôle est terminé avant que la sous-fonction ne soit exécutée. Pour plus de détails, reportez-vous à la section relative au Erreurs d'exécution, page 511. 496 31007524 8/2010 ESI : prise en charge du module ESI READ ASCII Message (sous-fonction 1) READ ASCII Message Une commande READ ASCII force le module ESI à lire les données entrantes de l'un de ses ports série et à stocker les données dans des registres de données variables internes. Le numéro de port série est indiqué dans le dixième (neuvième implicite) registre de la table des paramètres de la sous-fonction. Le numéro de message ASCII à lire est indiqué dans le neuvième (huitième implicite) registre de la table des paramètres de la sous-fonction. Les données reçues sont stockées dans les 16 Ko de l'espace de données variables aux formats programmés par l'utilisateur. Lorsque la partie haute de l'instruction ESI est 1, l'automate appelle le module et le force à exécuter une commande READ ASCII suivie d'une séquence de commandes GET DATA (transférant jusqu'à 16 384 registres de données) du module vers l'automate. Structure de la commande Structure de la commande Mot Contenu (hex) Signification 0 01PD P = numéro de port (1 ou 2) ; D = nombre de données 1 xxxx Numéro du registre de départ, compris entre 0 et 3FFF 2 00xx Numéro de message, où xx est compris entre 1 et FF (1 et 255 dec) 3 à 11 Inutilisé Structure de la réponse Structure de la commande 31007524 8/2010 Mot Contenu (hex) Signification 0 01PD Répète le mot de commande 0 1 xxxx Répète le numéro du registre de départ du mot de commande 1 2 00xx Répète le numéro de message du mot de commande 2 3 xxxx Mot de donnée 1 4 xxxx Mot de donnée 2 ... ... ... 11 xxxx Etat du module ou mot de donnée 9 497 ESI : prise en charge du module ESI Exemple comparatif READ ASCII Message/Put Data Vous trouverez ci-dessous un exemple de la manière dont l'instruction chargeable ESI peut simplifier votre tâche de programmation de logique dans une application de lecture ASCII. Supposons que les E/S du module ESI bidirectionnel 12 points aient été affectées aux registres de sortie 400001 à 400012 et aux registres d'entrée 300001 à 300012. Nous souhaitons lire le message ASCII n° 10 du port 1, puis transférer quatre mots de données vers les registres 400501 à 400504 de l'automate. Paramétrage de l'instruction ESI : Le tableau des paramètres des sous-fonctions commence au registre 401000. Entrez les paramètres suivants dans le tableau : Registre Valeur du paramètre Description 401000 nnnn Registre d'état ESI 401001 1 Registre de départ de la sortie affectée en E/S (400001) 401002 1 Registre de départ de l'entrée affectée en E/S (300001) 401003 501 Registre de départ pour le transfert de données (400501) 401004 0 Pas de registre de départ 3x pour le transfert de données 401005 100 Registre de départ du module 401006 4 Nombre de registres à transférer 401007 600 timeout = 60 s 401008 10 Numéro du message ASCII 401009 1 Numéro de port ASCII 401010-17 N/A Variables chargeables internes Avec ces paramètres entrés dans la table, l'instruction ESI traitera automatiquement les lectures et les transferts de données en un cycle. 498 31007524 8/2010 ESI : prise en charge du module ESI Lecture et transferts de données sans instruction ESI La même tâche peut être effectuée en schéma à contacts sans l'instruction chargeable ESI, mais les trois réseaux suivants seraient nécessaires pour configurer les paramètres de la commande et du transfert puis copier les données. Les registres 400101 à 400112 sont utilisés comme espace de travail pour les valeurs de sortie. Les registres 400201 à 400212 sont les valeurs initiales de la commande READ ASCII Message. Les registres 400501 à 400504 sont l'espace de données pour les données reçues du module. Premier réseau Contenu des registres Registre Valeur (hex) Description 400201 0114 Commande READ ASCII Message, port 1, quatre registres 400202 0064 Registre de départ du module 400203 nnnn Non valide : mot de données 1 ... ... ... 400212 nnnn Non valide : mot de données 10 Le premier réseau lance la commande READ ASCII Message en ACTIVANT la bobine 000011 de manière permanente. Cela transfère la commande READ ASCII Message dans l'espace de travail, puis l'espace de travail dans les registres de sortie du module. 31007524 8/2010 499 ESI : prise en charge du module ESI Deuxième réseau Contenu des registres Registre Valeur (hex) Description 400098 nnnn Espace de travail pour le mot de réponse 400099 nnnn Espace de travail pour le mot de réponse 400088 7FFF Masque du mot de réponse 400089 8000 Masque du bit valide du mot d'état Tant que la bobine 000011 est à l'état actif, le mot de réponse 0 de READ ASCII Message du registre d'entrée est testé pour s'assurer qu'il est identique au mot de commande 0 de l'espace de travail. Pour cela, le mot de réponse 0 du registre d'entrée est mis en ET logique avec 7FFF (hex) pour se débarrasser du bit de mot d'état valide (bit 15) dans le mot de réponse 0. Le registre de départ du module du registre d'entrée est également comparé au registre de départ du module de l'espace de travail afin de s'assurer qu'ils sont identiques. Si ces deux tests indiquent des correspondances, testez le bit valide du mot d'état dans le mot de réponse 0. Pour cela, le mot de réponse 0 du registre d'entrée est mis en ET logique avec 8000 (hex) pour se débarrasser des informations du mot de commande 0 en écho. Si le résultat de l'opération AND équivaut au bit valide du mot d'état, la bobine 000020 est ACTIVEE, indiquant une erreur et/ou un état dans le mot d'état du module. Si le résultat de l'opération AND diffère du bit valide du mot d'état, la bobine 000012 est ACTIVEE, indiquant que le message est terminé et que vous pouvez lancer une autre commande dans le module. 500 31007524 8/2010 ESI : prise en charge du module ESI Troisième réseau Si la bobine 000020 est à l'état actif, ce troisième réseau testera l'état occupé du mot d'état du module. Si le module est occupé, ne fait rien. Si le mot d'état du module est supérieur à 1 (occupé), une erreur détectée a été consignée dans l'octet de poids fort et la bobine 000099 sera ACTIVEE. A ce stade, vous devez déterminer l'erreur en utilisant une logique de traitement d'erreur que vous aurez développée. 31007524 8/2010 501 ESI : prise en charge du module ESI WRITE ASCII Message (sous-fonction 2) WRITE ASCII Message Dans une commande WRITE ASCII Message, le module ESI écrit un message ASCII vers l'un de ses ports série. Le numéro de port série est indiqué dans le dixième (neuvième implicite) registre du tableau des paramètres des sousfonctions. Le numéro de message ASCII à écrire est indiqué dans le neuvième (huitième implicite) registre du tableau des paramètres des sous-fonctions. Lorsque la partie haute de l'instruction ESI est 2, l'automate appelle le module et le force à exécuter une commande Write ASCII. Avant de lancer la commande WRITE, la sous-fonction 2 exécute une séquence de transferts PUT DATA (transférant jusqu'à 16 384 registres de données) de l'automate vers le module. Structure de la commande Structure de la commande Mot Contenu (hex) Signification 0 02PD P = numéro de port (1 ou 2) ; D = nombre de données 1 xxxx Numéro du registre de départ, compris entre 0 et 3FFF 2 00xx Numéro de message, où xx est compris entre 1 et FF (1 et 255 dec) 3 xxxx Mot de donnée 1 4 xxxx Mot de donnée 2 ... ... ... 11 xxxx Mot de donnée 9 Structure de la réponse Structure de la réponse 502 Mot Contenu (hex) Signification 0 02PD Répète le mot de commande 0 1 xxxx Répète le numéro du registre de départ du mot de commande 1 2 00xx Répète le numéro de message du mot de commande 2 3 0000 Renvoie un zéro ... ... ... 10 0000 Renvoie un zéro 11 xxxx Etat du module 31007524 8/2010 ESI : prise en charge du module ESI GET DATA (sous-fonction 3) GET DATA Un commande GET DATA transfère jusqu'à 10 registres de données du module ESI vers l'automate chaque fois que l'instruction ESI est traitée dans un schéma à contacts. Le nombre total de mots à lire est indiqué dans le mot 0 de la structure de la commande GET DATA (nombre de données). Les données sont renvoyées par incréments de 10 dans les mots 2 à 11 dans la structure de réponse GET DATA. Si une séquence de commandes GET DATA est exécutée conjointement avec une commande READ ASCII Message (via la sous-fonction 1), jusqu'à neuf registres sont transférés lorsque l'instruction est résolue la première fois. Les données supplémentaires sont renvoyées par groupes de dix registres sur les traitements suivants de l'instruction jusqu'à ce que toutes les données aient été transférées. Si une condition d'erreur doit être signalée (autre qu'une erreur de syntaxe de la commande), elle est signalée dans le mot 11 de la structure de réponse GET DATA. Si la commande a demandé 10 registres et que l'erreur doit être signalée, seuls les neuf registres de données seront renvoyés dans les mots 2 à 10, et le mot 11 sera utilisé pour l'état d'erreur. NOTE : Si le nombre de données et le numéro du registre de départ que vous indiquez sont valides mais que certains registres à lire dépassent la plage de registre valide, seules les données des registres situés dans la plage valide seront lues. Le nombre de données renvoyé dans le mot 0 de la structure de réponse reflétera le nombre de registres de données valides, et un code d'erreur (1280 hex) sera renvoyé dans le mot d'état du module (mot 11 dans le tableau de réponses). Structure de la commande Structure de la commande 31007524 8/2010 Mot Contenu (hex) Signification 0 030D D = nombre de données 1 xxxx Numéro du registre de départ, compris entre 0 et 3FFF 2 à 11 Inutilisé 503 ESI : prise en charge du module ESI Structure de la réponse Structure de la réponse 504 Mot Contenu (hex) Signification 0 030D Répète le mot de commande 0 1 xxxx Répète le numéro du registre de départ du mot de commande 1 2 xxxx Mot de donnée 1 3 xxxx Mot de donnée 2 ... ... ... 11 xxxx Etat du module ou mot de donnée 10 31007524 8/2010 ESI : prise en charge du module ESI PUT DATA (sous-fonction 4) PUT DATA Une commande PUT DATA écrit jusqu'à 10 registres de données de l'automate vers le module ESI chaque fois que l'instruction ESI est traitée en schéma à contacts. Le nombre total de mots à écrire est indiqué dans le mot 0 de la structure de la commande PUT DATA (nombre de données). Les données sont renvoyées par incréments de 10 dans les mots 2 à 11 dans la structure de commande PUT DATA. La commande est exécutée séquentiellement jusqu'à ce que le mot de commande 0 passe sur une autre commande différente de PUT DATA (040D hex). NOTE : Si le nombre de données et le numéro du registre de départ que vous indiquez sont valides mais que certains registres à écrire dépassent la plage de registre valide, seules les données des registres situés dans la plage valide seront écrites. Le nombre de données renvoyé dans le mot 0 de la structure de réponse reflétera le nombre de registres de données valides, et un code d'erreur (1280 hex) sera renvoyé dans le mot d'état du module (mot 11 dans le tableau de réponses). Structure de la commande Structure de la commande Mot Contenu (hex) 0 040D Signification D = nombre de données 1 xxxx Numéro du registre de départ, compris entre 0 et 3FFF 2 xxxx Mot de donnée 1 3 xxxx Mot de donnée 2 ... ... ... 11 xxxx Mot de donnée 10 Structure de la réponse Structure de la réponse 31007524 8/2010 Mot Contenu (hex) Signification 0 040D Répète le mot de commande 0 1 xxxx Répète le numéro du registre de départ du mot de commande 1 2 0000 Renvoie un zéro ... ... ... 10 0000 Renvoie un zéro 11 xxxx Etat du module 505 ESI : prise en charge du module ESI Exemple PUT DATA comparatif Vous trouverez ci-dessous un exemple de la manière dont l'instruction chargeable ESI peut simplifier votre tâche de programmation de logique dans une application PUT DATA. Supposons que les E/S du module ESI 062 bidirectionnel 12 points aient été affectées aux registres de sortie 400001 à 400012 et aux registres d'entrée 300001 à 300012. Nous voulons placer 30 registres de données de l'automate, commençant au registre 400501, dans le module ESI commençant à l'emplacement 100. Paramétrage de l'instruction ESI : Le tableau des paramètres des sous-fonctions commence au registre 401000. Entrez les paramètres suivants dans le tableau : Registre Valeur du paramètre Description 401000 nnnn Registre d'état ESI 401001 1 Registre de départ de la sortie affectée en E/S (400001) 401002 1 Registre de départ de l'entrée affectée en E/S (300001) 401003 501 Registre de départ pour le transfert de données (400501) 401004 0 Pas de registre de départ 3x pour le transfert de données 401005 100 Registre de départ du module 401006 30 Nombre de registres à transférer 401007 0 Timeout = jamais 401008 N/A Numéro du message ASCII 401009 N/A Numéro de port ASCII 401009 N/A Variables chargeables internes Avec ces paramètres entrés dans la table, l'instruction ESI traitera automatiquement les transferts de données sur trois cycles logiques ESI. 506 31007524 8/2010 ESI : prise en charge du module ESI Traitement du transfert de données sans instruction ESI La même tâche peut être effectuée en schéma à contacts sans l'instruction chargeable ESI, mais les quatre réseaux suivants seraient nécessaires pour configurer les paramètres de la commande et du transfert puis copier les données plusieurs fois jusqu'à ce que l'opération soit terminée. Les registres 400101 à 400112 sont utilisés comme espace de travail pour les valeurs de sortie. Les registres 400201 à 400212 sont les valeurs de commande PUT DATA initiales. Les registres 400501 à 400530 sont les registres de données à envoyer au module. Premier réseau : réseau de registres de commandes Contenu des registres Registre Valeur (hex) Description 400201 040A Commande PUT DATA, 10 registres 400202 0064 Registre de départ du module 400203 nnnn Non valide : mot de données 1 ... ... ... 400212 nnnn Non valide : mot de données 10 Le premier réseau lance le transfert des 10 premiers registres en ACTIVANT la bobine 000011 de manière permanente. Il transfère la commande PUT DATA initiale dans l'espace de travail, les 10 premiers registres (400501 à 400510) dans l'espace de travail, puis l'espace de travail dans les registres de sortie pour le module. 31007524 8/2010 507 ESI : prise en charge du module ESI Deuxième réseau : réseau de registres de commandes Tant que la bobine 000011 est à l'état actif et que la bobine 000020 est à l'état repos, le mot de réponse 0 PUT DATA du registre d'entrée est testé pour s'assurer qu'il est identique au mot de commande dans l'espace de travail. Le registre de départ du module du registre d'entrée est également testé afin de s'assurer qu'il est identique au registre de départ du module dans l'espace de travail. Si ces deux tests indiquent des correspondances, le registre de départ du module courant est testé par rapport à ce que serait le registre de départ du module de la dernière commande PUT DATA pour ce transfert. Si le test montre que le registre de départ du module courant est supérieur ou égal à la dernière commande PUT DATA, la bobine 000020 est ACTIVEE, indiquant que le transfert est terminé. Si le test montre que le registre de départ du module courant est inférieur à la dernière commande PUT DATA, la bobine 000012 est activée, indiquant que les 10 registres suivants doivent être transférés. Troisième réseau : réseau de registres de commandes Tant que la bobine 000012 est à l'état actif, il reste des données à transférer. Le registre de départ du module doit être testé à partir de la dernière résolution de commande afin de déterminer le jeu de 10 registres à transférer ensuite. Par exemple, si la dernière commande commençait par le registre 400110 du module, le registre de départ du module pour cette commande est 400120. 508 31007524 8/2010 ESI : prise en charge du module ESI Quatrième réseau : réseau de registres de commandes Tant que la bobine 000012 est à l'état actif, ajoutez 10 à la valeur du registre de départ du module dans l'espace de travail et transférez l'espace de travail vers les registres de sortie pour que le module commence le transfert de 10 registres suivant. 31007524 8/2010 509 ESI : prise en charge du module ESI ABORT (entrée médiane à l'état actif) ABORT Lorsque l'entrée médiane à l'instruction ESI est ACTIVEE, l'instruction annule un message ASCII READ ou WRITE. Les tampons du port série du module ne sont pas affectés par la commande ABORT, seul le message en cours l'est. Structure de la commande Structure de la commande Mot Contenu (hex) 0 0900 1 à 11 Inutilisé Structure de la réponse Structure de la réponse Mot 510 Contenu (hex) Signification 0 0900 Répète le mot de commande 0 1 0000 Renvoie un zéro ... ... ... 10 0000 Renvoie un zéro 11 xxxx Etat du module 31007524 8/2010 ESI : prise en charge du module ESI Erreurs d'exécution Erreurs d'exécution La séquence de commandes exécutée par le module ESI (indiquée par la valeur de la sous-fonction dans la partie haute de l'instruction ESI) doit passer par une série de contrôles d'erreurs avant que l'exécution réelle de la commande ne commence. Si une erreur est détectée, un message est placé dans le registre affiché dans la partie médiane. Le tableau suivant répertorie les codes de messages d'erreur possibles et leur signification : Code d'erreur (déc) Signification 0001 Sous-fonction inconnue indiquée dans la partie haute 0010 L'instruction ESI a dépassé les limites de temps (dépassé la durée indiquée dans le huitième registre de la table des paramètres de la sousfonction. 0101 Erreur dans la séquence READ ASCII Message 0102 Erreur dans la séquence WRITE ASCII Message 0103 Erreur dans la séquence GET DATA 0104 Erreur dans la séquence PUT DATA 1000 La longueur (partie basse) est trop petite. 1001 Valeur différente de zéro dans les paramètres de décalage des données 4x et 3x. 1002 Valeur de zéro dans les paramètres de décalage des données 4x et 3x. 1003 Paramètres de décalage des données 4x et 3x hors limites. 1004 Décalage des données 4x et 3x plus compteur de transferts hors limites. 1005 Paramètre de décalage des données 3x réglé pour GET DATA. 1006 Erreur de total de contrôle de la table des paramètres 1101 Registres de sortie des paramètres de décalage hors limites 1102 Registres d'entrée des paramètres de décalage hors limites 2001 Erreur signalée par le module ESI Une fois le contrôle des erreurs des paramètres terminé sans trouver d'erreur, le module ESI commence à exécuter la séquence de commandes. 31007524 8/2010 511 ESI : prise en charge du module ESI 512 31007524 8/2010 EUCA : conversion d'unités physiques et alarmes 31007524 8/2010 EUCA : conversion d'unités physiques et alarmes 85 Introduction Ce chapitre décrit l'instruction EUCA. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 514 Représentation 515 Description des paramètres 517 Exemples 519 513 EUCA : conversion d'unités physiques et alarmes Description sommaire Description de la fonction NOTE : Cette instruction n'est disponible que si vous avez décompacté et installé les instructions chargeables DX. Vous trouverez de plus amples informations "Installation des instructions chargeables DX, page 79." L'utilisation de programme en schéma à contacts pour convertir des données analogiques sous forme binaire en unités décimales peut être une opération gourmande en mémoire et en temps de cycle. L'instruction chargeable de conversion d'unités physiques et alarmes (EUCA) est conçue dans le but de supprimer la nécessité de logique utilisateur supplémentaire généralement demandée par ces conversions. EUCA convertit 12 bits de données binaires (représentant des signaux analogiques ou d'autres variables) en unités physiques prêtes à l'emploi pour l'affichage, la consignation de données ou le déclenchement d'alarme. A l'aide de la conversion linéaire Y = mX + b, les valeurs binaires comprises entre 0 et 4095 sont converties en une variable procédé à l'échelle (VPE). La VPE est exprimée en unités physiques dans la plage 0 à 9 999. Une instruction EUCA peut effectuer jusqu'à quatre conversions différentes en unités physiques. Elle propose également quatre niveaux de contrôle d'alarme pour chacune des quatre conversions : 514 Niveau Signification HA Valeur haute absolue AH Alerte haute AB Alerte basse BA Valeur basse absolue 31007524 8/2010 EUCA : conversion d'unités physiques et alarmes Représentation Symbole Représentation de l'instruction 31007524 8/2010 515 EUCA : conversion d'unités physiques et alarmes Description des paramètres Description des paramètres de l'instruction Paramètres Référence de Type de mémoire données d'état Entrée haute 0x, 1x Aucun L'état actif déclenche la conversion Entrée médiane 0x, 1x Aucun Entrée alarme Entrée basse 0x, 1x Aucun Entrée erreur état de l'alarme (partie haute) 4x INT, UINT Etats d'alarme pour quatre conversions EUCA Pour plus d'informations, reportez-vous à la section Etat d'alarme (partie haute), page 517. table de paramètres (partie médiane) 4x INT, UINT, Premier de neuf registres de sortie successifs de la table des paramètres EUCA Pour plus d'informations, reportez-vous à la section Table de paramètres (partie médiane), page 518. INT, UINT Valeur entière, indique lequel des 4 quartets est à utiliser dans le registre d'état d'alarme numéro de quartet (1 à 4) (partie basse) 516 Signification Sortie haute 0x Aucun Donne une image de l'entrée haute Sortie médiane 0x Aucun Activée si l'entrée médiane est active ou si le résultat de la conversion EUCA franchit un niveau d'alerte Sortie basse 0x Aucun Activée si l'entrée basse est active ou si un paramètre est hors limites 31007524 8/2010 EUCA : conversion d'unités physiques et alarmes Description des paramètres Etat d'alarme (partie haute) Le registre 4x mémorisé en partie haute affiche les états d'alarme pour les quatre conversions EUCA pouvant être effectuées par l'instruction. Le registre est segmenté en quatre quartets (demi–octets). Chaque quartet représente les quatre alarmes possibles d'une conversion EUCA individuelle. Le quartet de poids fort représente la première conversion, et le quartet de poids faible représente la quatrième conversion : Réglages d'alarme Conditions du réglage de l'alarme Type d'alarme Condition HA Une alarme HA est mise à 1 lorsque la VPE dépasse la valeur de l'alarme haute définie par l'utilisateur exprimée en unités physiques. AH Une alarme AH est mise à 1 lorsque la VPE dépasse la valeur de l'alerte haute définie par l'utilisateur exprimée en unités physiques. AB Une alarme AB est mise à 1 lorsque la VPE est inférieure à une valeur de l'alerte basse définie par l'utilisateur exprimée en unités physiques. BA Une alarme BA est mise à 1 lorsque la VPE est inférieure à une valeur d'alarme basse définie par l'utilisateur et exprimée en unités physiques. Une seule alarme peut exister dans toute conversion EUCA à un moment donné. Si la VPE dépasse le niveau d'alerte haute, le bit AH sera mis à 1. Si la HA est dépassée, le bit AH est mis à 0 et le bit HA est mis à 1. Le bit d'alarme ne changera pas après le retour à une condition moins contraignante tant que l'on ne sera pas également sorti de la plage neutre (PN). 31007524 8/2010 517 EUCA : conversion d'unités physiques et alarmes Table de paramètres (partie médiane) Le registre 4x mémorisé en partie médiane est le premier de neuf registres de sortie successifs de la table des paramètres EUCA : Registre Contenu Plage Affiché Valeur binaire entrée par l'utilisateur. 0 à 4 095 Premier implicite VPE calculée par le bloc EUCA Deuxième implicite Unité physique haute (UPH), VPE maximale nécessaire et définie par l'utilisateur (pleine échelle). UPB < UPH ≤ 99 999 Troisième implicite Unité physique basse (UPB), VPE minimum nécessaire et définie par l'utilisateur (bas de l'échelle). 0 ≤ UPB < UPH Quatrième implicite PN en unités VPE, en dessous des niveaux 0 ≤ PN < (UPH - UPB) HA et au-dessus des niveaux BA devant être franchis avant de remettre à zéro les états d'alarme. Cinquième implicite Alarme HA en unités VPE AH < HA ≤ UPH Sixième implicite Alarme AH en unités VPE AB < AH < HA Septième implicite Alerte AB en unités VPE BA < AB < AH Huitième implicite UPB ≤ BA < AB Alarme BA en unités VPE NOTE : Une erreur est générée si toute valeur sort de la plage définie ci–dessus. 518 31007524 8/2010 EUCA : conversion d'unités physiques et alarmes Exemples Introduction Les exemples suivants sont indiqués. z Principes de l'opération EUCA (exemple 1) z Utilisation d'un système d'entraînement (exemple 2) z Quatre conversions EUCA (exemple 3) Exemple 1 : Cet exemple montre les principes de l'opération EUCA. La valeur binaire est introduite manuellement dans le registre affiché en partie médiane, et le résultat est disponible visuellement dans le registre VPE (le premier registre implicite dans la partie médiane). La figure ci–dessous montre une plage d'entrée équivalente à une mesure comprise entre 0 et 100 V, correspondant à la totalité de la plage 12 bits : Une plage de 0 à 100 V fait apparaître 50 V en fonctionnement nominal. EUCA dispose d'une marge nominale pour les deux niveaux d'alarme et d'alerte (plage neutre). Si un seuil d'alarme est franchi, le bit d'alarme est activé et reste actif jusqu'à ce que le signal devienne plus grand (ou plus petit) que le réglage de la PN, -5 V dans cet exemple. 31007524 8/2010 519 EUCA : conversion d'unités physiques et alarmes La programmation du bloc EUCA est effectuée en sélectionnant l'instruction chargeable EUCA et en y écrivant les données comme illustré dans la figure ci– dessous : Données de référence Registre Signification Contenu 400440 ETAT 0000000000000000 400450 ENTRÉE 1871 DEC 400451 VPE 46 DEC 400452 unité_HAUTE 100 DEC 400453 unité_BASSE 0 DEC 400454 Plage_Neutre 5 DEC 400455 ALARME_HAUTE 70 DEC 400456 ALERTE_HAUTE 60 DEC 400457 ALARME_BASSE 40 DEC 400458 ALERTE_BASSE 30 DEC Les neuf registres de la partie médiane sont renseignés à l'aide de l'éditeur de données de référence. PN vaut 5 V suivi par 10 V d'incréments des alertes hautes et basses. L'alarme actuelle haute et basse est définie à 20 V au–dessus et au– dessous du nominal. 520 31007524 8/2010 EUCA : conversion d'unités physiques et alarmes Sur un graphique, l'exemple ressemble à ceci : NOTE : La valeur de l'exemple est de 46 en décimal, ce qui se trouve dans la plage normale. Aucune alarme n'est activée, c'est–à–dire que le registre 400440 = 0. Vous pouvez maintenant vérifier l'instruction dans un automate en exécution en entrant dans le registre 400450 des valeurs tombant à l'intérieur des plages définies. La vérification est effectuée en observant le changement de bit dans le registre 400440 pour lequel : Exemple 2 : Si l'entrée entre 0 et 4095 donne la valeur de la vitesse d'un système d'entraînement entre 0 et 5000 tr/m, vous pouvez configurer une instruction EUCA comme suit. La valeur binaire de 400210 a pour résultat une VPE de 4835 en décimal, laquelle dépasse le niveau d'alarme haute absolue, met le bit HA de 400209 à 1, et active la partie de l'alarme EUCA. 31007524 8/2010 Paramètres Vitesse Vitesse maximum 5 000 tr/min Vitesse minimum 0 tr/min PN 100 tr/min Alarme HA 4 800 tr/min Alarme AH 4 450 tr/min 521 EUCA : conversion d'unités physiques et alarmes Paramètres Vitesse Alarme AB 2 000 tr/min Alarme BA 1 200 tr/min Instruction Données de référence 522 Registre Signification Contenu 400209 ETAT 1000000000000000 400210 ENTRÉE 3960 DEC 400211 VPE 4835 DEC 400212 VITESSE_MAX 5000 DEC 400213 VITESSE_MIN 0 DEC 400214 Plage_Neutre 100 DEC 400215 ALARME_HAUTE 4800 DEC 400216 ALERTE_HAUTE 4450 DEC 400217 ALARME_BASSE 2000 DEC 400218 ALERTE_BASSE 1200 DEC 31007524 8/2010 EUCA : conversion d'unités physiques et alarmes Le contact N.O. sert à supprimer les contrôles d'alarme lorsque le système d'entraînement est arrêté, ou lors de la mise en route initiale permettant au système de dépasser le niveau de vitesse d'alarme basse. La variation de la valeur binaire du registre 400210 aurait pour conséquence que les bits du quartet 1 du registre 400209 changeraient conformément à l'illustration ci– dessus. La PN devient efficace lorsque l'alarme ou l'alerte a été activée, le signal tombe alors dans la plage neutre. L'alarme est maintenue, devenant ce qui serait une condition de bruit parasite au delà d'un niveau de signal marginal. Ce point est mis en exemple dans le diagramme ci–dessus, dans lequel le signal, après avoir franchi l'alarme AH et être retourné au niveau d'alerte à 4700, entre puis ressort de la PN au niveau d'alerte (4450), mais le bit d'alerte de 400209 reste à l'état actif. Il se déroulerait la même action si le signal franchissait les réglages bas. 31007524 8/2010 523 EUCA : conversion d'unités physiques et alarmes Exemple 3 : Vous pouvez enchaîner jusqu'à quatre conversions EUCA afin de former un registre des états d'alarme. Chaque conversion écrit dans le quartet défini en partie basse du bloc. Dans l'exemple de programme ci–dessous, chaque bloc EUCA écrit son état (sur la base des valeurs de la table de ce bloc) dans le demi–octet (quartet) du registre des états 400209. Données de référence Registre Signification Contenu 400209 ETAT 0000001001001000 Le registre des états peut alors être copié à l'aide d'une instruction BLKM dans un groupe de sorties TOR, câblées pour allumer des lampes d'un tableau d'annonce d'alarmes. En regardant le contenu d'état du registre 400209, on voit qu'il n'y a pas d'alarme dans le bloc 1, qu'il y a une alarme AB dans le bloc 2, une alarme AH dans le bloc 3 et une alarme HA dans le bloc 4. 524 31007524 8/2010 EUCA : conversion d'unités physiques et alarmes Les conditions d'alarme des quatre blocs peuvent être représentées par les réglages suivants : 31007524 8/2010 Conversion 1 Conversion 2 Conversion 3 Conversion 4 Entrée 400210 = 2048 400220 = 1220 400230 = 3022 400240 = 3920 Nb à l'échelle 400211 = 2501 400221 = 1124 400231 = 7379 400241 = 0770 UPH 400212 = 5000 400222 = 3300 400232 = 9999 400242 = 0800 UPB 400213 = 0000 400223 = 0200 400233 = 0000 400243 = 0100 PN 400214 = 0015 400224 = 0022 400234 = 0100 400244 = 0006 Alarme Haute 400215 = 40000 400225 = 2900 400235 = 8090 400245 = 0768 Alerte Haute 400216 = 3500 400226 = 2300 400236 = 7100 400246 = 0680 Alerte Basse 400217 = 2000 400227 = 1200 400237 = 3200 400247 = 0280 Alarme Basse 400218 = 1200 400228 = 0430 400238 = 0992 400248 = 0230 525 EUCA : conversion d'unités physiques et alarmes 526 31007524 8/2010 Description des instructions (de F à N) 31007524 8/2010 Description des instructions (de F à N) IV Introduction Dans cette section, les descriptions des instructions sont triées par ordre alphabétique de F à N. Contenu de cette partie Cette partie contient les chapitres suivants : Chapitre 31007524 8/2010 Titre du chapitre Page 86 FIN : pile premier entré 529 87 FOUT : pile premier sorti 533 88 FTOI : conversion d'un nombre à virgule flottante en entier 539 89 GD92 – Bloc fonction flux gazeux 543 90 Blocs fonction flux gazeux GFNX AGA n° 3 ‘85 et NX19 ‘68 555 91 Bloc fonction flux gazeux par la méthode brute GG92 AGA n° 3 1992 569 92 Bloc fonction flux gazeux par la méthode détaillée GM92 AGA n° 3 et n° 8 1992 581 93 Bloc fonction flux gazeux G392 AGA #3 1992 593 94 HLTH : matrices des états et des historiques 605 95 HSBY : redondance d'UC 621 96 IBKR : lecture indirecte de bloc 627 97 IBKW : écriture indirecte d'un bloc 631 98 ICMP : comparaison d'entrée 635 99 ID : interruption désactivée 643 100 IE : interruption activée 647 101 IMIO : E/S immédiate 651 102 IMOD : instruction du module d'interruption 659 103 INDX : déplacement incrémental immédiat 669 104 ITMR : générateur d'intervalle de temps 673 527 Description des instructions (de F à N) Chapitre 528 Titre du chapitre Page 105 ITOF : conversion entier en virgule flottante 679 106 JOGS : déplacement JOG 683 107 JSR : saut vers sous-programme 687 108 LAB : étiquette d'un sous-programme 691 109 LOAD : chargement de la mémoire flash 695 110 MAP3 : transmission MAP 699 111 MATH : opérations sur entiers 707 112 MBIT : modification des bits 715 113 MBUS : transmission MBUS 721 114 MMFB : bloc de bits de la structure de mouvement Modicon 731 115 MMFE : sous-programme des paramètres étendus de la structure de mouvement Modicon 735 116 MMFI : bloc d'initialisation de la structure de mouvement Modicon 739 117 MMFS : bloc de sous-programme de la structure de mouvement Modicon 745 118 MOVE : déplacement absolu 749 119 MRTM : module de transfert à registres multiples 753 120 MSPX (Seriplex) 759 121 MSTR : maître 763 122 MU16 : multiplication de valeurs 16 bits 809 123 MUL : multiplication 813 124 NBIT : contrôle des bits 819 125 NCBT : bit normalement fermé (NF) 823 126 NOBT : bit normalement ouvert (NO) 827 127 NOL : module d'option réseau pour Lonworks 831 31007524 8/2010 FIN : pile premier entré 31007524 8/2010 FIN : pile premier entré 86 Introduction Ce chapitre décrit l'instruction FIN. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 530 Représentation 531 Description des paramètres 532 529 FIN : pile premier entré Description sommaire Description de la fonction L'instruction FIN est utilisée pour générer une file d'attente premier entré. Une instruction FOUT doit être utilisée pour retirer le registre en bas de file d'attente. Une instruction FIN possède une entrée de commande et peut générer trois sorties possibles. 530 31007524 8/2010 FIN : pile premier entré Représentation Symbole Représentation de l'instruction Description des paramètres Description des paramètres de l'instruction Paramètres Aucun taille de la file d'attente (partie basse) Sortie haute Sortie médiane 0x 0x Aucun Aucun Sortie basse 0x Aucun Entrée haute données source (partie haute) pointeur de file d'attente (partie médiane) 31007524 8/2010 Type de données Référence de mémoire d'état 0x, 1x Signification Activée = Copie la configuration binaire source dans la file d'attente 0x, 1x, 3x, 4x ANY_BIT Données source qui seront copiées vers le haut de la file d'attente cible au cours du cycle actuel 4x WORD Premier d'une file d'attente de registres 4x, contient un pointeur de file d'attente ; le registre suivant immédiatement est le premier registre de la file d'attente INT, UINT Nombre de registres 4x dans la file d'attente cible. Plage : 1 à 100 Donne une image de l'état de l'entrée haute Activée = File d'attente pleine, aucune donnée source supplémentaire ne peut être copiée vers la file Activée = File d'attente vide (valeur de registre du pointeur de file d'attente = 0) 531 FIN : pile premier entré Description des paramètres Mode de fonctionnement L'instruction FIN est utilisée pour générer une file d'attente premier entré. Elle copie les données source de la partie haute vers le premier registre d'une file d'attente de registres de sortie. Les données source sont toujours copiées vers le registre du haut de la file d'attente. Lorsqu'une file d'attente est remplie, il n'est plus possible d'y copier des données source. Données source (partie haute) Lorsque les registres de type 0x ou 1x sont utilisés : Première référence 0x d'une chaîne de 16 bobines ou sorties TOR successives z Première référence 1x d'une chaîne de entrées TOR z Pointeur de file d'attente (partie médiane) Le registre 4x mémorisé en partie médiane est un pointeur de file d'attente. Le premier registre de la file d'attente est le registre 4x suivant immédiatement le pointeur. Si par exemple, la partie médiane affiche une référence de pointeur de 400100, le premier registre de la file d'attente est 400101. La valeur mémorisée dans le pointeur de file d'attente est égale au nombre de registres de la file d'attente actuellement remplis par les données source. La valeur du pointeur ne peut pas dépasser le nombre entier maximum de la file d'attente indiqué en partie basse. Si la valeur du pointeur de file d'attente est égale au nombre entier défini en partie basse, la sortie médiane transmet le courant et il n'est plus possible d'écrire des données source dans la file d'attente jusqu'à ce que l'instruction FOUT efface le registre en bas de la file d'attente. 532 31007524 8/2010 FOUT : pile premier sorti 31007524 8/2010 FOUT : pile premier sorti 87 Introduction Ce chapitre décrit l'instruction FOUT. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 534 Représentation 535 Description des paramètres 537 533 FOUT : pile premier sorti Description sommaire Description de la fonction DANGER BOBINES INVALIDEES Avant d'utiliser les instructions FOUT, vérifiez les bobines invalidées. L'instruction FOUT neutralisera toutes les bobines invalidées d'un registre cible sans pour autant les activer. Ceci peut provoquer des dommages si une bobine a été invalidée pour réparation ou entretien puisque l'état de la sortie peut changer suite à l'opération FOUT. Le non-respect de ces instructions provoquera la mort ou des blessures graves. L'instruction FOUT est utilisée avec l'instruction FIN pour générer une file d'attente premier entré-premier sorti (FIFO). Elle transfère la configuration binaire du registre de sortie en bas d'une file d'attente pleine vers un registre cible ou vers un mot mémorisant 16 sorties TOR. Une instruction FOUT possède une entrée de commande et peut générer trois sorties possibles. 534 31007524 8/2010 FOUT : pile premier sorti Représentation Symbole Représentation de l'instruction 31007524 8/2010 535 FOUT : pile premier sorti Description des paramètres Description des paramètres de l'instruction Paramètres Entrée haute Référence de mémoire d'état 0x, 1x pointeur source 4x (partie haute) registre cible (partie médiane) 536 0x, 4x Type de données Signification Aucun Activée = Retire la configuration binaire source de la file d'attente WORD Premier d'une file d'attente de registres 4x, contient le pointeur source ; le registre suivant immédiatement est le premier registre de la file d'attente Dans l'instruction FOUT, les données source proviennent d'un registre 4xxxx en bas d'une file d'attente pleine. Le registre 4xxxx suivant immédiatement le registre du pointeur source en partie haute est le premier registre de la file d'attente. Si, par exemple, la partie haute affiche le registre pointeur 40100, le premier registre de la file d'attente est 40101. La valeur placée dans le pointeur source est égale au nombre de registres de la file d'attente actuellement remplis. La valeur du pointeur ne peut pas dépasser le nombre entier maximum de la file d'attente indiqué en partie basse. Si la valeur du pointeur source est égale au nombre entier défini en partie basse, la sortie médiane transmet le courant et il n'est plus possible d'écrire des données FIN dans la file d'attente jusqu'à ce que l'instruction FOUT retire le registre en bas de la file d'attente vers le registre cible. ANY_BIT Registre cible La destination précisée en partie médiane peut être une référence 0xxxx ou un registre 4xxxx. Lorsque la file d'attente contient des données et que l'entrée haute de FOUT transmet du courant, les données source sont retirées du registre en bas de la file d'attente et sont écrites dans le registre cible. INT, Nombre de registres 4x dans la file d'attente. UINT Plage : 1 à 100 taille de la file d'attente (partie basse) Sortie haute Sortie médiane 0x 0x Aucun Aucun Sortie basse 0x Aucun Donne une image de l'état de l'entrée haute Activée = File d'attente pleine, aucune donnée source supplémentaire ne peut être copiée vers la file Activée = File d'attente vide (valeur de registre du pointeur de file = 0) 31007524 8/2010 FOUT : pile premier sorti Description des paramètres Mode de fonctionnement L'instruction FOUT est utilisée avec l'instruction FIN pour générer une file d'attente premier entré-premier sorti (FIFO). Elle transfère la configuration binaire du registre de sortie en bas d'une file d'attente pleine vers un registre cible ou vers un mot mémorisant 16 sorties TOR. NOTE : L'instruction FOUT doit être placée devant l'instruction FIN dans la logique FIFO de schéma à contacts pour s'assurer que les données les plus anciennes soient retirées d'une file d'attente pleine avant que les nouvelles données ne soient entrées. Si le bloc FIN est en premier, toute tentative d'entrer les nouvelles données serait ignorée. Pointeur source (partie haute) Dans l'instruction FOUT, les données source proviennent d'un registre 4x en bas d'une file d'attente pleine. Le registre 4x suivant immédiatement le registre du pointeur source en partie haute est le premier registre de la file d'attente. Si, par exemple, la partie haute affiche le registre pointeur 400100, le premier registre de la file d'attente est 400101. La valeur mémorisée dans le pointeur source est égale au nombre de registres de la file d'attente actuellement remplis. La valeur du pointeur ne peut pas dépasser le nombre entier maximum de la file d'attente indiqué en partie basse. Si la valeur du pointeur source est égale au nombre entier défini en partie basse, la sortie médiane transmet du courant et il n'est plus possible d'écrire des données FIN dans la file d'attente jusqu'à ce que l'instruction FOUT retire le registre en bas de la file d'attente vers le registre cible. Registre cible (partie médiane) La destination précisée en partie médiane peut être une référence 0x ou un registre 4x. Lorsque la file d'attente contient des données et que l'entrée haute de FOUT transmet du courant, les données source sont retirées du registre en bas de file d'attente et écrites dans le registre cible. 31007524 8/2010 537 FOUT : pile premier sorti 538 31007524 8/2010 FTOI : conversion d'un nombre à virgule flottante en entier 31007524 8/2010 FTOI : conversion d'un nombre à virgule flottante en entier 88 Introduction Ce chapitre décrit l'instruction FTOI. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Description sommaire 540 Représentation 541 539 FTOI : conversion d'un nombre à virgule flottante en entier Description sommaire Description de la fonction L'instruction FTOI effectue la conversion d'un nombre à virgule flottante en un entier signé ou non signé (mémorisé dans deux registres successifs de la partie haute), et mémorise ensuite la valeur entière convertie dans un registre 4x de la partie médiane. 540 31007524 8/2010 FTOI : conversion d'un nombre à virgule flottante en entier Représentation Symbole Représentation de l'instruction Description des paramètres Description des paramètres de l'instruction Paramètres Référence de mémoire d'état Signification Entrée haute 0x, 1x Aucun Activée = Valide la conversion Entrée basse 0x, 1x Aucun Activée = Opération signée Désactivée = Opération non signée VF (partie haute) 4x REAL Premier de deux registres de sortie successifs dans lesquels la valeur à virgule flottante est mémorisée entier converti (partie médiane) 4x INT, UINT La valeur entière convertie est placée ici 1 (partie basse) 31007524 8/2010 Type de données INT, UINT Une valeur constante de 1 (ne peut être changée) Sortie haute 0x Aucun Activée = Conversion entier réussie Sortie basse 0x Aucun Activée = Valeur entière convertie hors limites : entier non signé > 65 535 -32 768 > entier signé > 32 767 541 FTOI : conversion d'un nombre à virgule flottante en entier 542 31007524 8/2010 Bloc fonction flux gazeux GD92 31007524 8/2010 GD92 – Bloc fonction flux gazeux 89 Introduction Ce chapitre décrit l'instruction GD92 AGA #3 ainsi que la Méthode détaillée AGA #8 1992. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Description sommaire 544 Représentation 545 Description des paramètres : entrées 547 Description des paramètres : sorties 553 Description des paramètres : sorties facultatives 554 543 Bloc fonction flux gazeux GD92 Description sommaire Description de la fonction Le bloc fonction chargeable flux gazeux vous permet d'exécuter des équations AGA 3 (1992) et AGA 8 (1992). Les valeurs de débit obtenues sont, à 1 ppm près, conformes aux standards AGA. L'instruction GD92 utilise la méthode détaillée de caractérisation nécessitant une bonne connaissance de la composition du gaz. La fonction bloc chargeable flux gazeux GD92 est disponible uniquement sur certains automates Compact et Micro. NOTE : GD92 ne prend pas en charge le suivi d'audit API 21.1. GD92 ne prend en charge qu'une seule section de mesure. NOTE : Vous devez installer l'instruction chargeable LSUP avant GD92. Informations complémentaires Pour plus d'informations sur les instructions chargeables du bloc fonction flux gazeux, en particulier : z les codes d'erreur / avertissements système (4x+0) pour chaque instruction z les codes d'erreur / avertissements programme (4x+1) pour chaque instruction z le suivi d'audit API 21.1 z l'utilitaire GET_LOGS.EXE z l'utilitaire SET_SIZE.EXE Reportez-vous au manuel Guide utilisateur du bloc fonction chargeable flux gazeux Starling Associates Modicon (890 USE 137). 544 31007524 8/2010 Bloc fonction flux gazeux GD92 Représentation Symbole Représentation de l'instruction Description des paramètres Description des paramètres de l'instruction 31007524 8/2010 Paramètres Référence de mémoire d'état Type de Signification données Entrée haute 0x, 1x Aucun Activée = Résolution Cette entrée commence le calcul du flux gazeux. Les calculs sont basés sur les paramètres que vous avez entrés dans les registres d'entrée. Important : Ne détachez jamais l'entrée haute pendant le fonctionnement du bloc. Vous provoqueriez une erreur 188 et les données de ce bloc seraient corrompues. Important : Il est ESSENTIEL d'indiquer toutes les valeurs pertinentes dans la table de configuration. Pour plus d'informations sur la saisie de valeurs, reportez-vous à la section Table de configuration, page 547. 545 Bloc fonction flux gazeux GD92 Paramètres Référence de mémoire d'état Type de Signification données Entrée médiane 0x, 1x Aucun Vous permet de définir un avertissement. Vous permet de capturer tout avertissement ou erreur défini(e) par l'utilisateur selon les besoins de vos applications. Important : Il est ESSENTIEL d'indiquer toutes les valeurs pertinentes dans la table de configuration. Pour plus d'informations sur la saisie de valeurs, reportez-vous à la section Table de configuration, page 547. Entrée basse 0x, 1x Aucun Vous permet de définir une erreur et d'arrêter la fonction flux. Vous permet de capturer tout avertissement ou erreur défini(e) par l'utilisateur selon les besoins de vos applications. Important : Il est ESSENTIEL d'indiquer toutes les valeurs pertinentes dans la table de configuration. Pour plus d'informations sur la saisie de valeurs, reportez-vous à la section Table de configuration, page 547. constante #0001 (partie haute) 4x INT, UINT La partie haute doit contenir une constante, n° 0001. registre (partie médiane) 4x INT, UINT Le registre 4x saisi en partie médiane est le premier d'un groupe de registres de sortie successifs comportant les paramètres et les valeurs de configuration associés au bloc de flux gazeux. Important : Ne tentez pas de modifier le registre 4x de la partie médiane pendant l'exécution du bloc de flux gazeux. Vous perdriez vos données et provoqueriez une erreur 302. Si vous devez modifier le registre 4x, arrêtez d'abord l'automate. INT, UINT La partie basse spécifie le type de calcul et doit contenir une constante, n° 0003. #0003 (partie basse) 546 Sortie haute 0x Aucun Activée = Opération réussie Sortie médiane 0x Aucun Activée = Avertissement système ou programme Sortie basse 0x Aucun Activée = Erreur système ou programme 31007524 8/2010 Bloc fonction flux gazeux GD92 Description des paramètres : entrées Table de configuration Il est essentiel d'indiquer toutes les valeurs pertinentes de la table de configuration en utilisant l'éditeur de données de référence dans ProWORX, Concept, les écrans de zoom DX de Modsoft ou Meter Manager. La table d'entrées suivante répertorie tous les paramètres de configuration devant être renseignés. Les sorties (Table des résultats des sorties) et les sorties facultatives (Table des résultats des sorties facultatives) indiquent les résultats des calculs du bloc. Certains de ces paramètres sont obligatoires. NOTE : Seules les entrées valides sont autorisées. Les entrées dépassant les plages autorisées sont refusées. Les entrées non autorisées se traduisent par des erreurs ou des avertissements. NOTE : Concept 2.1 ou supérieur peut être utilisé pour charger les blocs gazeux. Cependant, Concept et ProWORX n'offrent ni aide, ni écrans de zoom DX pour la configuration. Si vous utilisez un logiciel de console Concept ou ProWORX, nous vous conseillons de faire appel à Meter Manager pour vos besoins de configuration. Entrées Voici ci-dessous une description détaillée des variables de configuration pour le bloc fonction flux gazeux GD92. 31007524 8/2010 Entrées Description 4xxxx+3 : 1 à 2 Emplacement des prises 1 : Amont 2 : Aval 4xxxx+3 : 3 à 4 Matériau du tube de mesure 1 : Acier inoxydable 2 : Monel 3 : Acier au carbone 4xxxx+3 : 5 à 6 Matériau de l'orifice 1 : Acier inoxydable 2 : Monel 3 : Acier au carbone 4xxxx+3 : 7 à 8 Réservé pour utilisation future (à ne pas utiliser) 4xxxx+3 : 9 à 10 Sorties facultatives 1 : Oui 2 : Non Remarque : Lors de l'utilisation des sorties standard seules, l'instruction chargeable utilise157 registres 4xxxx. Lors de l'utilisation des sorties facultatives, elle utilise 181 registres 4xxxx. 4xxxx+3 : 11 à 16 Réservé pour utilisation future (à ne pas utiliser) 547 Bloc fonction flux gazeux GD92 548 Entrées Description 4xxxx+4 : 1 Pression absolue/calibre 0 : Pression statique mesurée en unités absolues 1 : Pression statique mesurée en unités de calibre 4xxxx+4 : 2 Coupure du petit débit 0 : Ne pas utiliser la coupure de débit 1 : Utiliser la coupure de débit 4xxxx+4 : 3 à 6 Commande Charge 0 : Prêt à recevoir une commande 1 : CMD : Envoi de la configuration à la table interne à partir du registre 4xxxx 2 : CMD : Lecture de la configuration de la table interne vers le registre 4xxxx 3 : CMD : Réinitialisation du registre de changement de configuration de l'API 21.1. 4xxxx+4 : 7 à 8 Type d'entrée 1 : pointeurs 3xxxx entrés dans 4x+6 à 4x+10 2 : valeurs d'entrée saisies dans 4x+6 à 4x+10 4xxxx+4 : 9 à 10 Limites d'erreur en % de moles 1 - Activer 2 - Désactiver 4xxxx+4 : 11 à 12 Option de pression différentielle à plage double 1 : Oui 2 : Non 4xxxx+4 : 13 à 14 Compressible/Incompressible 1 : Compressible 2 : Incompressible 4xxxx+4 : 15 à 16 Méthodes de calcul de moyennes 0 : Facteur temps pondéré de façon linéaire en fonction du flux 1 : Formule dépendant du flux et pondérée en fonction du temps 2 : Moyenne linéaire pondérée selon le flux 3 : Formule pondérée selon le flux Remarque : Pour la plupart des applications vous utiliserez la méthode 0. 4xxxx+5 : 1 à 2 Unités de mesure 1 : Unités impériales 2 : Unités SI (Système International) 4xxxx+5 : 3 à 16 Réservé pour utilisation future (à ne pas utiliser) 4xxxx+6 Pointeur 3xxxx ou valeur d'entrée de la température Type de données : entier non signé 4xxxx+7 Pointeur 3xxxx ou valeur d'entrée de la pression (absolue) Type de données : entier non signé 4xxxx+8 Pointeur 3xxxx ou valeur d'entrée de la pression différentielle 1 Type de données : entier non signé 31007524 8/2010 Bloc fonction flux gazeux GD92 31007524 8/2010 Entrées Description 4xxxx+9 Pointeur 3xxxx ou valeur d'entrée de la pression différentielle 2 Type de données : entier non signé 4xxxx+10 Valeur brute d'entrée analogique de la température minimale Type de données : entier non signé 4xxxx+11 Valeur brute d'entrée analogique de la température maximale Type de données : entier non signé 4xxxx+12 Valeur brute d'entrée analogique de la pression minimale Type de données : entier signé 4xxxx+13 Valeur brute d'entrée analogique de la pression maximale Type de données : entier signé 4xxxx+14 Valeur brute d'entrée analogique de la pression différentielle 1 minimale Type de données : entier signé 4xxxx+15 Valeur brute d'entrée analogique de la pression différentielle 1 maximale Type de données : entier signé 4xxxx+16 Valeur brute d'entrée analogique de la pression différentielle 2 minimale Type de données : entier signé 4xxxx+17 Valeur brute d'entrée analogique de la pression différentielle 2 maximale Type de données : entier signé 4xxxx+18 à 19 Température minimale en unités physiques -200 à 760 °F (-128,89 à 404,4 °C) Type de données : nombre à virgule flottante 4xxxx+20 à 21 Température maximale en unités physiques -200 à 760 °F (-128,89 à 404,4 °C) Type de données : nombre à virgule flottante 4xxxx+22 à 23 Pression minimale en unités physiques 0 à 40 000 psia (0 à 275 790,28 kPa) Type de données : nombre à virgule flottante 4xxxx+24 à 25 Pression maximale en unités physiques 0 à 40 000 psia (0 à 275 790,28 kPa) Type de données : nombre à virgule flottante 4xxxx+26 à 27 Pression différentielle 1 minimale en unités physiques >= 0 (pouces H2O ou kPa) Type de données : nombre à virgule flottante 4xxxx+28 à 29 Pression différentielle 1 maximale en unités physiques > 0 (pouces H2O ou kPa) Type de données : nombre à virgule flottante 549 Bloc fonction flux gazeux GD92 550 Entrées Description 4xxxx+30 à 31 Pression différentielle 2 minimale en unités physiques >= 0 (pouces H2O ou kPa) Type de données : nombre à virgule flottante 4xxxx+32 à 33 Pression différentielle 2 maximale en unités physiques > 0 (pouces H2O ou kPa) Type de données : nombre à virgule flottante 4xxxx+34 à 35 Diamètre du diaphragme à orifice, d r (0 < dr < 100 pouces) (0 < dr < 2 540 mm) Type de données : nombre à virgule flottante 4xxxx+36 à 37 Mesure de la température du diamètre du diaphragme à orifice, T r (32 <= Tr < 77 °F) (0 <= Tr < 25 °C) Type de données : nombre à virgule flottante 4xxxx+38 à 39 Diamètre interne du tube de mesure D r (0 <Dr <100 pouces) (0 < Dr < 2 540 mm) Type de données : nombre à virgule flottante 4xxxx+40 à 41 Température du diamètre interne du tube de mesure T r (32 <= Tr < 77 °F) (0 <= Tr < 25 °C) Type de données : nombre à virgule flottante 4xxxx+42 à 43 Température de base, T b (32,0 <= Tb < 77,0 °F) (0 <= Tb < 25 °C) Type de données : nombre à virgule flottante 4xxxx+44 à 45 Pression de base, P b (13,0 <= Pb < 16,0 PSIA) (89,63 <= Pb < 110,32 kPa) Type de données : nombre à virgule flottante 4xxxx+46 à 47 Température de référence pour la densité relative, T gr (32,0 <= Tgr < 77,0 °F) (0 <= Tgr < 25 °C) Type de données : nombre à virgule flottante 4xxxx+48 à 49 Pression de référence pour la densité relative, P gr (13,0 <= Pgr < 16,0 PSIA) (89,63 <= Pgr < 110,32 kPa) Type de données : nombre à virgule flottante 4xxxx+50 à 57 Réservé pour utilisation future (à ne pas utiliser) 4xxxx+58 à 59 Facteur de correction de l'entrée utilisateur, F u (0 < Fu < 2,0) Type de données : nombre à virgule flottante 4xxxx+60 à 61 Viscosité absolue du fluide, μ c (0,005 <= μc <= 0,5 centipoise) Type de données : nombre à virgule flottante 4xxxx+62 à 63 Exposant isentropique, k (1,0 <= k < 2,0) Type de données : nombre à virgule flottante 31007524 8/2010 Bloc fonction flux gazeux GD92 Entrées Description 4xxxx+64 Heure du commencement du jour (0 ... 23) Type de données : entier non signé 4xxxx+65 à 78 Réservé pour utilisation future (à ne pas utiliser) 4xxxx+79 à 80 Pression atmosphérique P at (3 <= Pat <30 psi) (20,684 <= Pat < 206,843 kPa) Type de données : nombre à virgule flottante 4xxxx+81 à 82 Niveau de coupure du petit débit (>= 0 pi3/h) (>= 0 m3/h) Utilisé si activé dans 4x+4 : 2. Type de données : nombre à virgule flottante 31007524 8/2010 4xxxx+83 à 84 % mole de méthane, x i *(0,0 <= xi <= 100) Type de données : nombre à virgule flottante 4xxxx+85 à 86 % mole d'azote, x i *(0,0 <= xi <= 100) Type de données : nombre à virgule flottante 4xxxx+87 à 88 % mole de dioxyde de carbone, x i *(0,0 <= xi <= 100) Type de données : nombre à virgule flottante 4xxxx+89 à 90 % mole d'éthane, x i *(0,0 <= xi <= 100) Type de données : nombre à virgule flottante xxx+91 à 92 % mole de propane, x i *(0,0 <= xi <= 12) Type de données : nombre à virgule flottante 4xxxx+93 à 94 % mole d'eau, x i *(0,0 <= xi <= 10) Type de données : nombre à virgule flottante 4xxxx+95 à 96 % mole de sulfure d'hydrogène, x i *(0,0 <= xi <= 100) Type de données : nombre à virgule flottante 4xxxx+97 à 98 % mole d'hydrogène, x i *(0,0 <= xi <= 100) Type de données : nombre à virgule flottante 4xxxx+99 à 100 % mole de monoxyde de carbone, x i *(0,0 <= xi <= 3) Type de données : nombre à virgule flottante 551 Bloc fonction flux gazeux GD92 Entrées Description 4xxxx+101 à 102 % mole d'oxygène, x i *(0,0 <= xi <= 21) Type de données : nombre à virgule flottante 4xxxx+103 à 104 % mole d'I-butane, x i *(0,0 <= xi <= 6) pour l'ensemble des butanes Type de données : nombre à virgule flottante 4xxxx+105 à 106 % mole de n-butane, x i *(0,0 <= xi <= 6) pour l'ensemble des butanes Type de données : nombre à virgule flottante 4xxxx+107 à 108 % mole d'I-pentane, x i *(0,0 <= xi <= 4) pour l'ensemble des pentanes Type de données : nombre à virgule flottante 4xxxx+109 à 110 % mole de n-pentane, x i *(0,0 <= xi <= 4) pour l'ensemble des pentanes Type de données : nombre à virgule flottante 4xxxx+111 à 112 % mole d'hexane, x i *(0,0 <= xi <= 10) pour l'ensemble des hexanes + Type de données : nombre à virgule flottante 4xxxx+113 à 114 % mole d'heptane, x i *(0,0 <= xi <= 10) pour l'ensemble des hexanes + Type de données : nombre à virgule flottante 4xxxx+115 à 116 % mole d'octane, x i *(0,0 <= xi <= 10) pour l'ensemble des hexanes + Type de données : nombre à virgule flottante 4xxxx+117 à 118 % mole de nonane, x i *(0,0 <= xi <= 10) pour l'ensemble des hexanes + Type de données : nombre à virgule flottante 4xxxx+119 à 120 % mole de décane, x i *(0,0 <= xi <= 10) pour l'ensemble des hexanes + Type de données : nombre à virgule flottante 4xxxx+121 à 122 % mole d'hélium, x i *(0,0 <= xi <= 30) Type de données : nombre à virgule flottante 4xxxx+123 à 124 % mole d'argon, x i *(0,0 <= xi <= 100) Type de données : nombre à virgule flottante *Plage valide 552 31007524 8/2010 Bloc fonction flux gazeux GD92 Description des paramètres : sorties Table des résultats des sorties Les sorties correspondent aux résultats des calculs du bloc. 31007524 8/2010 Sorties Description 4xxxx+0 Avertissement système/code d'erreur (affiché en mode hexadécimal) 4xxxx+1 Avertissement programme/code d'erreur 4xxxx+2 Numéro de version (affiché en mode hexadécimal) 4xxxx+125 à 126 Température aux conditions du flux (Tf) (°F ou °C) 4xxxx+127 à 128 Pression (Pf) (psia ou kPa) 4xxxx+129 à 130 Pression différentielle (hw) (H2O ou kPa) 4xxxx+131 à 132 Valeur entière (VE) 4xxxx+133 à 134 Valeur du multiplicateur entier (VME) 4xxxx 135 à 136 Débit dans des conditions ordinaires (Tb, Pb), Qb (pi3/h ou m3/h) 4xxxx+137 à 138 Débit de masse (Qm) (lbm/h ou kg/h) 4xxxx+139 à 140 Volume accumulé jour courant 4xxxx+141 à 142 Volume accumulé heure précédente 4xxxx+143 à 144 Volume accumulé jour précédent 4xxxx+145 à 146 Température moyenne jour précédent 4xxxx+147 à 148 Pression moyenne jour précédent 4xxxx+149 à 150 Pression différentielle moyenne jour précédent 4xxxx+151 à 152 Moyenne VE jour précédent 4xxxx+153 à 154 Débit moyen dans des conditions ordinaires (Tb, Pb) pour le jour précédent 4xxxx+155 : 13 La table 4xxxx diffère de la configuration réelle 4xxxx+155 : 14 Pulsation d'exécution complète du débit 4xxxx+155 : 15 Pulsation du bloc en fonctionnement 4xxxx+155 : 16 Drapeau de fin de journée 553 Bloc fonction flux gazeux GD92 Description des paramètres : sorties facultatives Table de configuration des sorties facultatives Les sorties facultatives correspondent aux résultats des calculs du bloc. Ces sorties ne sont actives que si 4x+3 : 9 ... 10 est égal à 1. 554 Sorties facultatives Description 4xxxx+156 à 157 Compressibilité aux conditions de flux (Tf, Pf), Zf 4xxxx+158 à 159 Compressibilité aux conditions ordinaires (Tb, Pb), Zb 4xxxx+160 à 161 Compressibilité aux conditions standard (Ts, Ps), Zs 4xxxx+162 à 163 Densité du fluide aux conditions de flux (Pt,p) 4xxxx+164 à 165 Densité de fluide aux conditions ordinaires (ρ) 4xxxx+166 à 167 Surcompressibilité (Fpv) 4xxxx+168 à 169 Densité relative du gaz (Gr) 4xxxx+170 à 171 Coefficient de débit du diaphragme à orifice (Cd) 4xxxx+172 à 173 Facteur d'extension (Y) 4xxxx+174 à 175 Facteur de vitesse d'approche (Ev) 4xxxx+176 à 177 Débit aux conditions de flux (Tf, Pf), Qf 4xxxx+178 à 179 Réservé pour utilisation future (à ne pas utiliser) 4xxxx+180 Le coefficient de débit du diaphragme à orifice confine le drapeau à l'intérieur du plan d'itération (Cd-f) 31007524 8/2010 Bloc fonction flux gazeux GFNX 31007524 8/2010 Blocs fonction flux gazeux GFNX AGA n° 3 ‘85 et NX19 ‘68 90 Introduction Ce chapitre décrit l'instruction GFNX AGA n° 3 ‘85 et NX19 ‘68. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Description sommaire 556 Représentation 557 Description des paramètres : entrées 559 Description des paramètres : sorties 566 Description des paramètres : sorties facultatives 567 555 Bloc fonction flux gazeux GFNX Description sommaire Description de la fonction Le bloc fonction chargeable flux gazeux GNFX AGA n° 3 (1985) et NX19 API 21.1 est disponible uniquement sur certains automates Compact et Micro. Le bloc fonction chargeable flux gazeux vous permet d'exécuter des équations AGA 3 (1992) et AGA 8 (1992). Les valeurs de débit obtenues sont, à 1 ppm près, conformes aux standards AGA. L'instruction GFNX utilise la méthode détaillée de caractérisation nécessitant une bonne connaissance de la composition du gaz. NOTE : Vous devez installer l'instruction chargeable LSUP avant GFNX. Informations complémentaires Pour plus d'informations sur les instructions chargeables du bloc fonction flux gazeux, en particulier : z les codes d'erreur/avertissement système (4x+0) pour chaque instruction z les codes d'erreur/avertissement programme (4x+1) pour chaque instruction z le suivi d'audit API 21.1 z l'utilitaire GET_LOGS.EXE z l'utilitaire SET_SIZE.EXE Reportez-vous au manuel Guide utilisateur du bloc fonction chargeable flux gazeux Starling Associates Modicon (890 USE 137). 556 31007524 8/2010 Bloc fonction flux gazeux GFNX Représentation Symbole Représentation de l'instruction Description des paramètres Description des paramètres de l'instruction Paramètres Référence de mémoire d'état Entrée haute 0x, 1x 31007524 8/2010 Type de Signification données Aucun Activée = résolution Cette entrée déclenche le calcul du flux gazeux. Les calculs sont basés sur les paramètres que vous avez saisis dans les registres d'entrée. Important : Ne détachez jamais l'entrée haute pendant le fonctionnement du bloc. Vous provoqueriez une erreur 188 et les données de ce bloc seraient corrompues. Important : Il est ESSENTIEL d'indiquer toutes les valeurs pertinentes dans la table de configuration. Pour plus d'informations sur la saisie de valeurs, reportez-vous à la section Table de configuration, page 559. 557 Bloc fonction flux gazeux GFNX Paramètres Référence de mémoire d'état Type de Signification données Entrée médiane 0x, 1x Aucun Vous permet de définir un avertissement. Vous permet de définir un avertissement et de consigner des activités de périphériques dans le journal des événements de suivi d'audit sans arrêter le bloc. Important : Il est ESSENTIEL d'indiquer toutes les valeurs pertinentes dans la table de configuration. Pour plus d'informations sur la saisie de valeurs, reportez-vous à la section Table de configuration, page 559. Entrée basse 0x, 1x Aucun Vous permet de définir une erreur et d'arrêter la fonction flux. Vous permet de définir une erreur, de consigner les erreurs dans le journal des événements de suivi d'audit et d'ARRETER la fonction flux. Important : Il est ESSENTIEL d'indiquer toutes les valeurs pertinentes dans la table de configuration. Pour plus d'informations sur la saisie de valeurs, reportez-vous à la section Table de configuration, page 559. Constante n° 4x 0001 (partie haute) INT, UINT La partie haute doit contenir une constante, n° 0001. 4x INT, UINT Le registre 4x saisi en partie médiane est le premier d'un groupe de registres de sortie successifs comportant les paramètres et les valeurs de configuration associés au bloc de flux gazeux. Important : Ne tentez pas de modifier le registre 4x de la partie médiane pendant l'exécution du bloc de flux gazeux. Vous perdriez vos données et vous provoqueriez une erreur 302. Si vous devez modifier le registre 4x, ARRETEZ d'abord l'automate. INT, UINT La partie basse spécifie le type de calcul et doit contenir une constante. Important : N'utilisez que des entrées valides. Les autres entrées refusent l'accès aux écrans de zoom DX. Registre (partie médiane) Méthode (partie basse) 558 Sortie haute 0x Aucun Activée = opération réussie Sortie médiane 0x Aucun Activée = avertissement système ou programme Sortie basse 0x Aucun Activée = erreur système ou programme 31007524 8/2010 Bloc fonction flux gazeux GFNX Description des paramètres : entrées Table de configuration Il est essentiel d'indiquer toutes les valeurs pertinentes dans la table de configuration à l'aide de l'éditeur de données de référence de ProWORX ou Concept, ou des écrans de zoom DX de Modsoft ou Meter Manager. La table d'entrées suivante répertorie tous les paramètres de configuration devant être renseignés. Les sorties (Table des résultats des sorties) et les sorties facultatives (Table des résultats des sorties facultatives) indiquent les résultats des calculs du bloc. Certains de ces paramètres sont obligatoires. NOTE : Seules les entrées valides sont autorisées. Les entrées dépassant les plages autorisées sont refusées. Les entrées non autorisées se traduisent par des erreurs ou des avertissements. NOTE : Concept 2.1 (ou version ultérieure) peut être utilisé pour charger les blocs gazeux. Cependant, Concept et ProWORX n'offrent ni aide, ni écrans de zoom DX pour la configuration. Si vous utilisez le logiciel de console Concept ou ProWORX, nous vous conseillons de faire appel à Meter Manager pour vos besoins de configuration. Entrées Le tableau suivant offre une description détaillée des variables de configuration pour le bloc fonction flux gazeux GFNX. 31007524 8/2010 Entrées Description 4xxxx+3 : 1 à 2 Emplacement des prises 1 : En amont 2 : En aval 4xxxx+3 : 3 à 4 Matériau du tube de mesure 1 : Acier inoxydable 2 : Monel 3 : Acier au carbone 4xxxx+3 : 5 à 6 Matériau de l'orifice 1 : Acier inoxydable 2 : Monel 3 : Acier au carbone 4xxxx+3 : 7 à 8 Réservé pour utilisation future (à ne pas utiliser) 4xxxx+3 : 9 à 10 Sorties facultatives 1 : Oui 2 : Non Remarque : Lors de l'utilisation des sorties standard seules, l'instruction chargeable utilise157 registres 4xxxx. Lors de l'utilisation des sorties facultatives, elle utilise 181 registres 4xxxx. 559 Bloc fonction flux gazeux GFNX 560 Entrées Description 4xxxx+3 : 11 à 16 Réservé pour utilisation future (à ne pas utiliser) 4xxxx+4 : 1 Pression absolue/calibre 0 : Pression statique mesurée en unités absolues 1 : Pression statique mesurée en unités de calibre 4xxxx+4 : 2 Coupure du petit débit 0 : Ne pas utiliser la coupure de débit 1 : Utiliser la coupure de débit 4xxxx+4 : 3 à 6 Commande Charge 0 : Prêt à recevoir une commande 1 : CMD : Envoi de la configuration à la table interne à partir du registre 4xxxx 2 : CMD : Lecture de la configuration de la table interne vers le registre 4xxxx 3 : CMD : Réinitialisation du registre de changement de configuration de l'API 21.1. 4xxxx+4 : 7 à 8 Type d'entrée 1 : Pointeurs 3xxxx saisis dans 4x+6 à 4x+10 2 : Valeurs d'entrée saisies dans 4x+6 à 4x+10 4xxxx+4 : 9 à 10 Limites d'erreur en % de moles 1 : Activer 2 : Désactiver 4xxxx+4 : 11 à 12 Option de pression différentielle à plage double 1 : Oui 2 : Non 4xxxx+4 : 13 à 14 Compressible/Incompressible 1 : Compressible 2 : Incompressible 4xxxx+4 : 15 à 16 Méthodes de calcul de moyennes 0 : Facteur temps pondéré de façon linéaire en fonction du flux 1 : Formule dépendant du flux et pondérée en fonction du temps 2 : Moyenne linéaire pondérée selon le flux 3 : Formule pondérée selon le flux Remarque : Pour la plupart des applications, vous utiliserez la méthode 0. 4xxxx+5 : 1 à 2 Unités de mesure 1 : Unités impériales 2 : Unités SI (Système International) 4xxxx+5 : 3 à 14 Réservé pour utilisation future (à ne pas utiliser) 4xxxx+5 : 5 à 16 Réservé pour l'API 21.1 4xxxx+6 Pointeur 3xxxx ou valeur d'entrée de la température Type de données : entier non signé 4xxxx+7 Pointeur 3xxxx ou valeur d'entrée de la pression (absolue) Type de données : entier non signé 31007524 8/2010 Bloc fonction flux gazeux GFNX 31007524 8/2010 Entrées Description 4xxxx+8 Pointeur 3xxxx ou valeur d'entrée de la pression différentielle 1 Type de données : entier non signé 4xxxx+9 Pointeur 3xxxx ou valeur d'entrée de la pression différentielle 2 Type de données : entier non signé 4xxxx+10 Valeur brute d'entrée analogique de la température minimale Type de données : entier non signé 4xxxx+11 Valeur brute d'entrée analogique de la température maximale Type de données : entier non signé 4xxxx+12 Valeur brute d'entrée analogique de la pression minimale Type de données : entier signé 4xxxx+13 Valeur brute d'entrée analogique de la pression maximale Type de données : entier signé 4xxxx+14 Valeur brute d'entrée analogique de la pression différentielle 1 minimale Type de données : entier signé 4xxxx+15 Valeur brute d'entrée analogique de la pression différentielle 1 maximale Type de données : entier signé 4xxxx+16 Valeur brute d'entrée analogique de la pression différentielle 2 minimale Type de données : entier signé 4xxxx+17 Valeur brute d'entrée analogique de la pression différentielle 2 maximale Type de données : entier signé 4xxxx+18 à 19 Température minimale en unités physiques -40 à 240 °F (-40 à 115,5556 °C) Type de données : nombre à virgule flottante 4xxxx+20 à 21 Température maximale en unités physiques -40 à 240 °F (-40 à 115,5556 °C) Type de données : nombre à virgule flottante 4xxxx+22 à 23 Pression minimale en unités physiques 0 à 5 000 psia (0 à 34 473,785 kPa) Type de données : nombre à virgule flottante 4xxxx+24 à 25 Pression maximale en unités physiques 0 à 5 000 psia (0 à 34 473,785 kPa) Type de données : nombre à virgule flottante 4xxxx+26 à 27 Pression différentielle 1 minimale en unités physiques >= 0 (pouces H2O ou kPa) Type de données : nombre à virgule flottante 4xxxx+28 à 29 Pression différentielle 1 maximale en unités physiques > 0 (pouces H2O ou kPa) Type de données : nombre à virgule flottante 561 Bloc fonction flux gazeux GFNX Entrées Description 4xxxx+30 à 31 Pression différentielle 2 minimale en unités physiques >= 0 (pouces H2O ou kPa) Type de données : nombre à virgule flottante 4xxxx+32 à 33 Pression différentielle 2 maximale en unités physiques > 0 (pouces H2O ou kPa) Type de données : nombre à virgule flottante 4xxxx+34 à 35 Diamètre du diaphragme à orifice, d r (0 < dr < 100 pouces) (0 < dr < 2 540 mm) Type de données : nombre à virgule flottante 4xxxx+36 à 37 Mesure de la température du diamètre du diaphragme à orifice, T r (32 <= Tr < 77 °F) (0 <= Tr < 25 °C) Type de données : nombre à virgule flottante 4xxxx+38 à 39 Diamètre interne du tube de mesure D r (0 <Dr <100 pouces) (0 < Dr < 2 540 mm) Type de données : nombre à virgule flottante 4xxxx+40 à 41 Température du diamètre interne du tube de mesure T r (32 <= Tr < 77 °F) (0 <= Tr < 25 °C) Type de données : nombre à virgule flottante 4xxxx+42 à 43 Température de base, T b (32,0 <= Tb < 77,0 °F) (0 <= Tb < 25 °C) Type de données : nombre à virgule flottante 4xxxx+44 à 45 Pression de base, P b (13,0 <= Pb < 16,0 PSIA) (89,63 <= Pb < 110,32 kPa) Type de données : nombre à virgule flottante 4xxxx+46 à 57 Réservé pour utilisation future (à ne pas utiliser) 4xxxx+58 à 59 Facteur de correction de l'entrée utilisateur, F u (0 < Fu < 2,0) Type de données : nombre à virgule flottante 4xxxx+60 à 63 Réservé pour utilisation future (à ne pas utiliser) 4xxxx+64 Heure du commencement du jour (0 ... 23) Type de données : entier non signé 4xxxx+65 à 78 Réservé pour l'API 21.1 4xxxx+79 à 80 Pression atmosphérique P at (3 <= Pat <30 psi) (20,684 <= Pat < 206,843 kPa) Type de données : nombre à virgule flottante 4xxxx+81 à 82 Niveau de coupure du petit débit (>= 0 pi3/h) (>= 0 m3/h) Utilisé si activé dans 4x+4 : 2. Type de données : nombre à virgule flottante 562 31007524 8/2010 Bloc fonction flux gazeux GFNX Entrées de la méthode détaillée 11 Les entrées suivantes s'appliquent à la méthode détaillée 11. Entrées Description Applicable lorsque la méthode détaillée 11est utilisée 4xxxx+83 à 84 % moles de méthane, x i *(0,0 <= xi <= 100) Type de données : nombre à virgule flottante 4xxxx+85 à 86 % moles d'azote, x i *(0,0 <= xi <= 100) Type de données : nombre à virgule flottante 4xxxx+87 à 88 % moles de dioxyde de carbone, x i *(0,0 <= xi <= 100) Type de données : nombre à virgule flottante 4xxxx+89 à 90 % moles d'éthane, x i *(0,0 <= xi <= 100) Type de données : nombre à virgule flottante xxx+91 à 92 % moles de propane, x i *(0,0 <= xi <= 100) Type de données : nombre à virgule flottante 4xxxx+93 à 94 % moles d'eau, x i *(0,0 <= xi <= 100) Type de données : nombre à virgule flottante 4xxxx+95 à 96 % moles de sulfure d'hydrogène, x i *(0,0 <= xi <= 100) Type de données : nombre à virgule flottante 4xxxx+97 à 98 % moles d'hydrogène, x i *(0,0 <= xi <= 100) Type de données : nombre à virgule flottante 4xxxx+99 à 100 % moles de monoxyde de carbone, x i *(0,0 <= xi <= 100) Type de données : nombre à virgule flottante 4xxxx+101 à 102 % moles d'oxygène, x i *(0,0 <= xi <= 100) Type de données : nombre à virgule flottante 4xxxx+103 à 104 % moles d'I-butane, x i *(0,0 <= xi <= 100) Type de données : nombre à virgule flottante 31007524 8/2010 563 Bloc fonction flux gazeux GFNX Entrées Description Applicable lorsque la méthode détaillée 11est utilisée 4xxxx+105 à 106 % moles de n-butane, x i *(0,0 <= xi <= 100) Type de données : nombre à virgule flottante 4xxxx+107 à 108 % moles d'I-pentane, x i *(0,0 <= xi <= 100) Type de données : nombre à virgule flottante 4xxxx+109 à 110 % moles de n-pentane, x i *(0,0 <= xi <= 100) Type de données : nombre à virgule flottante 4xxxx+111 à 112 % moles d'hexane, x i *(0,0 <= xi <= 100) Type de données : nombre à virgule flottante 4xxxx +113 à 114 % moles d'heptane, x i *(0,0 <= xi <= 100) Type de données : nombre à virgule flottante 4xxxx+115 à 116 % moles d'octane, x i *(0,0 <= xi <= 100) Type de données : nombre à virgule flottante 4xxxx+117 à 118 % moles de nonane, x i *(0,0 <= xi <= 100) Type de données : nombre à virgule flottante 4xxxx+119 à 120 % moles de décane, x i *(0,0 <= xi <= 100) Type de données : nombre à virgule flottante 4xxxx+121 à 122 % moles d'hélium, x i *(0,0 <= xi <= 30) Type de données : nombre à virgule flottante 4xxxx+123 à 124 Réservé pour utilisation future (à ne pas utiliser) *Plage valide 564 31007524 8/2010 Bloc fonction flux gazeux GFNX Entrées des méthodes brutes 10, 12 et 13 Les entrées suivantes s'appliquent aux entrées brutes 10, 12 et 13. Entrées Description Applicable lorsque les méthodes brutes 10, 12 et 13 sont utilisées. 4xxxx+83 à 84 % moles de méthane, x i *(0,0 <= xi <= 100) Type de données : nombre à virgule flottante (Requis pour la méthode 13 UNIQUEMENT) 4xxxx+85 à 86 % moles d'azote, x i *(0,0 <= xi <= 100) Type de données : nombre à virgule flottante (Requis pour les méthodes 10, 12 et 13) 4xxxx+87 à 88 % moles de dioxyde de carbone, x i *(0,0 <= xi <= 100) Type de données : nombre à virgule flottante (Requis pour les méthodes 10, 12 et 13) 4xxxx+93 à 94 Gravité spécifique, G r (0,07 <= Gr < 1,52) Type de données : nombre à virgule flottante (Requis pour les méthodes 10, 12 et 13) 4xxxx+95 à 96 Valeur de chauffage, HV (0,07 HV < 1800) Type de données : nombre à virgule flottante (Requis pour la méthode 12 UNIQUEMENT) *Plage valide 31007524 8/2010 565 Bloc fonction flux gazeux GFNX Description des paramètres : sorties Table des résultats des sorties Les sorties correspondent aux résultats des calculs du bloc. Sorties Description 4xxxx+0 Avertissement système / code d'erreur (affiché en mode hexadécimal) 4xxxx+1 Avertissement programme / code d'erreur 4xxxx+2 Numéro de version (affiché en mode hexadécimal) 4xxxx+125 à 126 Température aux conditions du flux (Tf) (°F ou °C) 4xxxx+127 à 128 Pression (Pf) (psia ou kPa) 4xxxx+129 à 130 Pression différentielle (hw) (en H2O ou kPa) 4xxxx+131 à 132 Valeur entière (VE) 4xxxx+133 à 134 Valeur du multiplicateur entier (VME) 4xxxx 135 à 136 Débit dans des conditions ordinaires (Tb, Pb), Qb pi3/h ou m3/h 4xxxx+137 à 138 566 Réservé pour utilisation future (à ne pas utiliser) 4xxxx+139 à 140 Volume accumulé jour courant 4xxxx+141 à 142 Volume accumulé heure précédente 4xxxx+143 à 144 Volume accumulé jour précédent 4xxxx 145 à 152 Réservé pour l'API 21.1 4xxxx+153 Valeur d'erreur / d'avertissement définissable par l'utilisateur (à utiliser pour l'API 21.1) 4xxxx+155 : 13 La table 4xxxx diffère de la configuration réelle 4xxxx+155 : 14 Pulsation d'exécution complète du débit 4xxxx+155 : 15 Pulsation du bloc en fonctionnement 4xxxx+155 : 16 Drapeau de fin de journée Remarque : Ce bit d'état n'apparaît pas dans l'écran de zoom DX, mais peut être utilisé dans le traitement du programme. 31007524 8/2010 Bloc fonction flux gazeux GFNX Description des paramètres : sorties facultatives Table de configuration des sorties facultatives Les sorties facultatives correspondent aux résultats des calculs du bloc. Ces sorties ne sont actives que si 4x+3 : 9 ... 10 sont égales à 1. 31007524 8/2010 Sorties facultatives Description 4xxxx + 156 à 165 Réservé pour utilisation future (à ne pas utiliser) 4xxxx + 166 à 167 Surcompressibilité, F pv 4xxxx + 168 à 169 Densité relative du gaz, G r 4xxxx + 170 à 171 Réservé pour utilisation future (à ne pas utiliser) 4xxxx + 172 à 173 Facteur d'extension, Y 4xxxx + 174 à 180 Réservé pour utilisation future (à ne pas utiliser) 567 Bloc fonction flux gazeux GFNX 568 31007524 8/2010 Bloc fonction flux gazeux par la méthode brute GG92 31007524 8/2010 Bloc fonction flux gazeux par la méthode brute GG92 AGA n° 3 1992 91 Introduction Ce chapitre décrit l'instruction Bloc fonction flux gazeux par la méthode brute GG92 AGA n° 3 et AGA n° 8. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Description sommaire 570 Représentation 571 Description des paramètres : entrées 573 Description des paramètres : sorties 578 Description des paramètres : sorties facultatives 579 569 Bloc fonction flux gazeux par la méthode brute GG92 Description sommaire Description de la fonction Le bloc fonction chargeable flux gazeux GG92 est disponible uniquement sur certains automates Compact et Micro. Le bloc fonction chargeable flux gazeux vous permet d'exécuter des équations AGA 3 (1992) et AGA 8 (1992). Les valeurs de débit obtenues sont, à 1 ppm près, conformes aux standards AGA. L'instruction GG92 permet le suivi d'audit API 21.1. Elle permet 8 passages. L'instruction GG92 utilise la méthode détaillée de caractérisation nécessitant une bonne connaissance de la composition du gaz. NOTE : Vous devez installer l'instruction chargeable LSUP avant GG92. Informations complémentaires Pour plus d'informations sur les instructions chargeables du bloc fonction flux gazeux, en particulier : z les codes d'erreur/avertissement système (4x+0) pour chaque instruction z les codes d'erreur/avertissement programme (4x+1) pour chaque instruction z le suivi d'audit API 21.1 z l'utilitaire GET_LOGS.EXE z l'utilitaire SET_SIZE.EXE Reportez-vous au manuel Guide utilisateur du bloc fonction chargeable flux gazeux Starling Associates Modicon (890 USE 137). 570 31007524 8/2010 Bloc fonction flux gazeux par la méthode brute GG92 Représentation Symbole Représentation de l'instruction Description des paramètres Description des paramètres de l'instruction Paramètres Entrée haute 31007524 8/2010 Référence de mémoire d'état 0x, 1x Type de Signification données Aucun Activée = résolution Cette entrée commence le calcul du flux gazeux. Les calculs sont basés sur les paramètres que vous avez saisis dans les registres d'entrée. Important : Ne détachez jamais l'entrée haute pendant le fonctionnement du bloc. Vous provoqueriez une erreur 188 et les données de ce bloc seraient corrompues. Important : Il est ESSENTIEL d'indiquer toutes les valeurs pertinentes dans la table de configuration. Pour plus d'informations sur la saisie de valeurs, reportez-vous à la section Table de configuration, page 573. 571 Bloc fonction flux gazeux par la méthode brute GG92 Paramètres 572 Référence de mémoire d'état Entrée médiane 0x, 1x Type de Signification données Entrée basse Aucun 0x, 1x Aucun 4x Constante n° 0001 (partie haute) Registre 4x (partie médiane) INT, UINT INT, UINT Méthode (partie basse) INT, UINT Sortie haute Sortie médiane 0x 0x Aucun Aucun Sortie basse 0x Aucun Vous permet de définir un avertissement. Vous permet de définir un avertissement et de consigner des activités de périphériques dans le journal des événements de suivi d'audit sans arrêter le bloc. Important : Il est ESSENTIEL d'indiquer toutes les valeurs pertinentes dans la table de configuration. Pour plus d'informations sur la saisie de valeurs, reportez-vous à la section Table de configuration, page 573. Vous permet de définir une erreur et d'arrêter la fonction flux. Vous permet de définir une erreur, de consigner les erreurs dans le journal des événements de suivi d'audit et d'ARRETER la fonction flux. Important : Il est ESSENTIEL d'indiquer toutes les valeurs pertinentes dans la table de configuration. Pour plus d'informations sur la saisie de valeurs, reportez-vous à la section Table de configuration, page 573. La partie haute doit contenir une constante, n° 0001. Le registre 4x saisi en partie médiane est le premier d'un groupe de registres de sortie successifs comportant les paramètres et les valeurs de configuration associés au bloc de flux gazeux. Important : Ne tentez pas de modifier le registre 4x de la partie médiane pendant l'exécution du bloc de flux gazeux. Vous perdriez vos données. Pour modifier le registre 4x, ARRETEZ d'abord l'automate. La partie basse spécifie le type de calcul et doit contenir une constante, n° 0003. Le nombre entier saisi en partie basse permet de spécifier la méthode de caractérisation : z 1 : Méthode brute 1 (HV-Gr-CO2) z 2 : Méthode brute 2 (Gr-CO2-N2) Activée = opération réussie Activée = avertissement système ou programme Activée = erreur système ou programme 31007524 8/2010 Bloc fonction flux gazeux par la méthode brute GG92 Description des paramètres : entrées Table de configuration Il est essentiel d'indiquer toutes les valeurs pertinentes de la table de configuration en utilisant l'éditeur de données de référence dans ProWORX, Concept, les écrans de zoom DX de Modsoft ou Meter Manager. La table d'entrées suivante répertorie tous les paramètres de configuration devant être renseignés. Les sorties (Table des résultats des sorties) et les sorties facultatives (Table des résultats des sorties facultatives) indiquent les résultats des calculs du bloc. Certains de ces paramètres sont obligatoires. NOTE : Seules les entrées valides sont autorisées. Les entrées dépassant les plages autorisées sont refusées. Les entrées non autorisées se traduisent par des erreurs ou des avertissements. NOTE : Concept 2.1 (ou version ultérieure) peut être utilisé pour charger les blocs gazeux. Cependant, Concept et ProWORX n'offrent ni aide ni écrans de zoom DX pour la configuration. Si vous utilisez un logiciel de console Concept ou ProWORX, nous vous conseillons de faire appel à Meter Manager pour vos besoins de configuration. Entrées La table suivante offre une description détaillée des variables de configuration pour le bloc fonction flux gazeux GG92. Entrées Description 4xxxx+3 : Chiffres (1 à 2) Emplacement des prises 1 : Amont 2 : Aval 4xxxx+3 : Chiffres (3 à 4) Matériau du tube de mesure 1 : Acier inoxydable 2 : Monel 3 : Acier au carbone 4xxxx+3 : Chiffres (5 à 6) Matériau de l'orifice 1 : Acier inoxydable 2 : Monel 3 : Acier au carbone 4xxxx+3 : Chiffres (7 à 8) Réservé pour utilisation future (à ne pas utiliser) 4xxxx+3 : Chiffres (9 à 10) Sorties facultatives 1 : Oui 2 : Non Remarque : Lors de l'utilisation des sorties standard seules, l'instruction chargeable utilise 157 registres 4xxxx. Lors de l'utilisation des sorties facultatives, elle utilise 181 registres 4xxxx. 4xxxx+3 : Chiffres (11 à 16) Réservé pour utilisation future (à ne pas utiliser) 31007524 8/2010 573 Bloc fonction flux gazeux par la méthode brute GG92 Entrées Description 4xxxx+4 : 1 Pression absolue / calibre 0 : Pression statique mesurée en unités absolues 1 : Pression statique mesurée en unités de calibre 4xxxx+4 : 2 Coupure du petit débit 0 : Ne pas utiliser la coupure de débit 1 : Utiliser la coupure de débit 4xxxx+4 : Chiffres (3 à 6) Commande Charge 0 : Prêt à recevoir une commande 1 : CMD : Envoi de la configuration à la table interne à partir du registre 4xxxx 2 : CMD : Lecture de la configuration de la table interne vers le registre 4xxxx 3 : CMD : Réinitialisation du registre de changement de configuration de l'API 21.1. 4xxxx+4 : Chiffres (7 à 8) Type d'entrée 1 : pointeurs 3xxxx entrés dans 4x+6 à 4x+10 2 : valeurs d'entrée saisies dans 4x+6 à 4x+10 4xxxx+4 : Chiffres (9 à 10) Limites d'erreur en % de moles 1 - Activer 2 - Désactiver 4xxxx+4 : Chiffres (11 à 12) Option de pression différentielle à plage double 1 : Oui 2 : Non 4xxxx+4 : Chiffres (13 à 14) Compressible / Incompressible 1 : Compressible 2 : Incompressible 4xxxx+4 : Chiffres (15 à 16) Méthodes de calcul de moyennes 0 : Facteur temps pondéré de façon linéaire en fonction du flux 1 : Formule dépendant du flux et pondérée en fonction du temps 2 : Moyenne linéaire pondérée selon le flux 3 : Formule pondérée selon le flux Remarque : Pour la plupart des applications vous utiliserez la méthode 0. 4xxxx+5 : Chiffres (1 à 2) Unités de mesure 1 : Unités impériales 2 : Unités SI (Système International) 4xxxx+5 : Chiffres (3 à 14) Réservé pour utilisation future (à ne pas utiliser) 4xxxx+5 : Chiffres (15 à 16) Réservé pour l'API 21.1 574 4xxxx+6 Pointeur 3xxxx ou valeur d'entrée de la température Type de données : entier non signé 4xxxx+7 Pointeur 3xxxx ou valeur d'entrée de la pression (absolue) Type de données : entier non signé 4xxxx+8 Pointeur 3xxxx ou valeur d'entrée de la pression différentielle 2 Type de données : entier non signé 31007524 8/2010 Bloc fonction flux gazeux par la méthode brute GG92 31007524 8/2010 Entrées Description 4xxxx+9 Pointeur 3xxxx ou valeur d'entrée de la pression différentielle 2 Type de données : entier non signé 4xxxx+10 Valeur brute d'entrée analogique de la température minimale Type de données : entier non signé 4xxxx+11 Valeur brute d'entrée analogique de la température maximale Type de données : entier non signé 4xxxx+12 Valeur brute d'entrée analogique de la pression minimale Type de données : entier signé 4xxxx+13 Valeur brute d'entrée analogique de la pression maximale Type de données : entier signé 4xxxx+14 Valeur brute d'entrée analogique de la pression différentielle 1 minimale Type de données : entier signé 4xxxx+15 Valeur brute d'entrée analogique de la pression différentielle 1 maximale Type de données : entier signé 4xxxx+16 Valeur brute d'entrée analogique de la pression différentielle 2 minimale Type de données : entier signé 4xxxx+17 Valeur brute d'entrée analogique de la pression différentielle 2 maximale Type de données : entier signé 4xxxx+18 à 19 Température minimale en unités physiques 14 à 149 °F (-10 à 65 °C) Type de données : nombre à virgule flottante 4xxxx+20 à 21 Température maximale en unités physiques 14 à 149 °F (-10 à 65 °C) Type de données : nombre à virgule flottante 4xxxx+22 à 23 Pression minimale en unités physiques 0 à 1,470 psia (0 à 11,996 kPa) Type de données : nombre à virgule flottante 4xxxx+24 à 25 Pression maximale en unités physiques 0 à 1,470 psia (0 à 11,996 kPa) Type de données : nombre à virgule flottante 4xxxx+26 à 27 Pression différentielle 2 minimale en unités physiques >= 0 (pouces H2O ou kPa) Type de données : nombre à virgule flottante 4xxxx+28 à 29 Pression différentielle 1 maximale en unités physiques > 0 (pouces H2O ou kPa) Type de données : nombre à virgule flottante 4xxxx+30 à 31 Pression différentielle 2 minimale en unités physiques >= 0 (pouces H2O ou kPa) Type de données : nombre à virgule flottante 575 Bloc fonction flux gazeux par la méthode brute GG92 576 Entrées Description 4xxxx+32 à 33 Pression différentielle 2 maximale en unités physiques > 0 (pouces H2O ou kPa) Type de données : nombre à virgule flottante 4xxxx+34 à 35 Diamètre du diaphragme à orifice, d r (0 < dr < 100 pouces) (0 < dr < 2 540 mm) Type de données : nombre à virgule flottante 4xxxx+36 à 37 Mesure de la température du diamètre du diaphragme à orifice, T r (32 <= Tr < 77 °F) (0 <= Tr < 25 °C) Type de données : nombre à virgule flottante 4xxxx+38 à 39 Diamètre interne du tube de mesure D r (0 <Dr <100 pouces) (0 < Dr < 2 540 mm) Type de données : nombre à virgule flottante 4xxxx+40 à 41 Température du diamètre interne du tube de mesure T r (32 <= Tr < 77 °F) (0 <= Tr < 25 °C) Type de données : nombre à virgule flottante 4xxxx+42 à 43 Température de base, T b (32,0 <= Tb < 77,0 °F) (0 <= Tb < 25 °C) Type de données : nombre à virgule flottante 4xxxx+44 à 45 Pression de base, P b (13,0 <= Pb < 16,0 PSIA) (89,63 <= Pb < 110,32 kPa) Type de données : nombre à virgule flottante 4xxxx+46 à 47 Température de référence pour la densité relative, T gr (32,0 <= Tgr < 77,0 °F) (0 <= Tgr < 25 °C) Type de données : nombre à virgule flottante 4xxxx+48 à 49 Pression de référence pour la densité relative, P gr (13,0 <= Pgr < 16,0 PSIA) (89,63 <= Pgr < 110,32 kPa) Type de données : nombre à virgule flottante 4xxxx+50 à 51 Température de référence pour la densité molaire, T d (32,0 <= Td < 77,0 °F) (0 <=Td < 25 °C) Type de données : nombre à virgule flottante 4xxxx+52 à 53 Pression de référence pour la densité molaire, P d (13,0 <= Pd < 16,0 PSIA) (89,63 <= Pd < 110,32 kPa Type de données : nombre à virgule flottante 4xxxx+54 à 55 Température de référence pour la valeur de chauffage, T h (32,0 <= Th < 770 °F) (0 <=Th < 25 °C) Type de données : nombre à virgule flottante 4xxxx+56 à 57 Réservé pour utilisation future (à ne pas utiliser) 4xxxx+58 à 59 Facteur de correction de l'entrée utilisateur, F u (0 < Fu < 2,0) Type de données : nombre à virgule flottante 31007524 8/2010 Bloc fonction flux gazeux par la méthode brute GG92 Entrées Description 4xxxx+60 à 61 Viscosité absolue du fluide, μ c (0,01 <= μc <= 0,1 centipoise) Type de données : nombre à virgule flottante 4xxxx+62 à 63 Exposant isentropique, k (1,0 <= k < 2,0) Type de données : nombre à virgule flottante 4xxxx+64 Heure du commencement du jour (0 ... 23) Type de données : entier non signé 4xxxx+65 à 78 Réservé pour l'API 21.1 4xxxx+79 à 80 Pression atmosphérique P at (3 <= Pat <30 psi) (20,684 <= Pat < 206,843 kPa) Type de données : nombre à virgule flottante 4xxxx+81 à 82 Niveau de coupure du petit débit (>= 0 pi3/h) (>= 0 m3/h) Type de données : nombre à virgule flottante 4xxxx+83 à 84 Réservé pour utilisation future (à ne pas utiliser) 4xxxx+85 à 86 % mole d'azote, x i *(0,0 <= xi <= 50) (Requis pour la méthode 2 uniquement) Type de données : nombre à virgule flottante 4xxxx+87 à 88 % mole de dioxyde de carbone, x i *(0,0 <= xi <= 30) Type de données : nombre à virgule flottante 4xxxx+89 à 90 % mole d'hydrogène, x i *(0,0 <= xi <= 10) Type de données : nombre à virgule flottante 4xxxx+91 à 92 % mole de monoxyde de carbone, x i *(0,0 <= xi <= 3) Type de données : nombre à virgule flottante 4xxxx+93 à 94 Gravité spécifique, G r (0,55 <= Gr < 0,87) Type de données : nombre à virgule flottante 4xxxx+95 à 96 Valeur de chauffage, HV *(477 <= HV < 1211 BTU/pi3) (17,7725 <= HV < 45,1206 Kj/dm3) (Requis pour la méthode 1 uniquement) Type de données : nombre à virgule flottante 4xxxx+97 à 124 Réservé pour utilisation future (à ne pas utiliser) *Plage valide 31007524 8/2010 577 Bloc fonction flux gazeux par la méthode brute GG92 Description des paramètres : sorties Table des résultats des sorties Les sorties correspondent aux résultats des calculs du bloc. Sorties Description 4xxxx+0 Avertissement système/code d'erreur (affiché en mode hexadécimal) 4xxxx+1 Avertissement programme/code d'erreur 4xxxx+2 Numéro de version (affiché en mode hexadécimal) 4xxxx+125 à 126 Température aux conditions du flux (Tf) (°F ou °C) 4xxxx+127 à 128 Pression (Pf) (psia ou kPa) 4xxxx+129 à 130 Pression différentielle (hw) (en H2O ou kPa) 4xxxx+131 à 132 Valeur entière (VE) 4xxxx+133 à 134 Valeur du multiplicateur entier (VME) 4xxxx+135 à 136 Débit dans des conditions ordinaires (Tb, Pb), Qb (pi3/h ou m3/h 578 4xxxx+137 à 138 Débit de masse (Qm) (lbm/h ou kg/h) 4xxxx+139 à 140 Volume accumulé jour courant 4xxxx+141 à 142 Volume accumulé heure précédente 4xxxx+143 à 144 Volume accumulé jour précédent 4xxxx+145 à 152 Réservé pour l'API 21.1 4xxxx+153 Valeur d'erreur/d'avertissement définissable par l'utilisateur (à utiliser pour l'API 21.1) 4xxxx+155 : 13 La table 4xxxx diffère de la configuration réelle 4xxxx+155 : 14 Pulsation d'exécution complète du débit 4xxxx+155 : 15 Pulsation du bloc en fonctionnement 4xxxx+155 : 16 Drapeau de fin de journée 31007524 8/2010 Bloc fonction flux gazeux par la méthode brute GG92 Description des paramètres : sorties facultatives Table de configuration des sorties facultatives Les sorties facultatives correspondent aux résultats des calculs du bloc. Ces sorties ne sont actives que si 4x+3 : 9 ... 10 est égal à 1. 31007524 8/2010 Sorties facultatives Description 4xxxx+156 à 157 Compressibilité aux conditions de flux (Tf, Pf), Zf 4xxxx+158 à 159 Compressibilité aux conditions ordinaires (Tb, Pb), Zb 4xxxx+160 à 161 Compressibilité aux conditions standard (Ts, Ps), Zs 4xxxx+162 à 163 Densité du fluide aux conditions de flux (Pt,p) 4xxxx+164 à 165 Densité de fluide aux conditions ordinaires (ρ) 4xxxx+166 à 167 Surcompressibilité (Fpv) 4xxxx+168 à 169 Densité relative du gaz (Gr) 4xxxx+170 à 171 Coefficient de débit du diaphragme à orifice (Cd) 4xxxx+172 à 173 Facteur d'extension (Y) 4xxxx+174 à 175 Facteur de vitesse d'approche (Ev) 4xxxx+176 à 177 Débit aux conditions de flux (Tf, Pf), Qf 4xxxx+178 à 179 Réservé pour utilisation future (à ne pas utiliser) 4xxxx+180 Le coefficient de débit du diaphragme à orifice confine le drapeau à l'intérieur du plan d'itération (Cd-f) 579 Bloc fonction flux gazeux par la méthode brute GG92 580 31007524 8/2010 GM92 : bloc fonction flux gazeux 31007524 8/2010 Bloc fonction flux gazeux par la méthode détaillée GM92 AGA n° 3 et n° 8 1992 92 Introduction Ce chapitre présente l'instruction G392 AGA n° 3 et AGA n° 8 1992 par la méthode détaillée avec le suivi d'audit API 21.1. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Description sommaire 582 Représentation 583 Description des paramètres : entrées 585 Description des paramètres : sorties 591 Description des paramètres : sorties facultatives 592 581 GM92 : bloc fonction flux gazeux Description sommaire Description de la fonction La fonction bloc chargeable flux gazeux GM92 est disponible uniquement sur certains automates Compact et Micro. Le bloc fonction chargeable flux gazeux vous permet d'exécuter des équations AGA 3 (1992) et AGA 8 (1992). Les valeurs de débit obtenues sont, à 1 ppm près, conformes aux standards AGA. Ce bloc fonction vous permet d'exécuter le suivi d'audit de l'API 21.1. Il comporte 8 sections de mesure. NOTE : Vous devez installer l'instruction chargeable LSUP avant GM92. Informations complémentaires Pour plus d'informations sur les instructions chargeables du bloc fonction flux gazeux, en particulier : z les codes d'erreur/avertissements système (4x+0) pour chaque instruction z les codes d'erreur/avertissements programme (4x+1) pour chaque instruction z le suivi d'audit API 21.1 z l'utilitaire GET_LOGS.EXE z l'utilitaire SET_SIZE.EXE Reportez-vous au manuel Guide utilisateur du bloc fonction chargeable flux gazeux Starling Associates Modicon (890 USE 137). 582 31007524 8/2010 GM92 : bloc fonction flux gazeux Représentation Symbole Représentation de l'instruction Description des paramètres Description des paramètres de l'instruction 31007524 8/2010 Paramètres Référence de mémoire d'état Type de données Signification Entrée haute 0x, 1x Aucun Activée = résolution Cette entrée commence le calcul du flux gazeux. Les calculs sont basés sur les paramètres que vous avez saisis dans les registres d'entrée. Important : Ne détachez jamais l'entrée haute pendant le fonctionnement du bloc. Vous provoqueriez une erreur 188 et les données de ce bloc seraient corrompues. Important : Il est ESSENTIEL d'indiquer toutes les valeurs pertinentes dans la table de configuration. Pour plus d'informations sur la saisie de valeurs, reportez-vous à la section Table de configuration, page 585. 583 GM92 : bloc fonction flux gazeux Paramètres 584 Référence de mémoire d'état Type de données Signification Entrée médiane 0x, 1x Aucun Vous permet de définir un avertissement. Vous permet de définir un avertissement et de consigner des activités de périphériques dans le journal des événements de suivi d'audit sans arrêter le bloc. Important : Il est ESSENTIEL d'indiquer toutes les valeurs pertinentes dans la table de configuration. Pour plus d'informations sur la saisie de valeurs, reportez-vous à la section Table de configuration, page 585. Entrée basse 0x, 1x Aucun Vous permet de définir une erreur et d'arrêter la fonction flux. Vous permet de définir une erreur, de consigner les erreurs dans le journal des événements de suivi d'audit et d'ARRETER la fonction flux. Important : Il est ESSENTIEL d'indiquer toutes les valeurs pertinentes dans la table de configuration. Pour plus d'informations sur la saisie de valeurs, reportez-vous à la section Table de configuration, page 585. Constante #0001 (partie haute) 4x INT, UINT La partie haute doit contenir une constante, n° 0001. registre 4x (partie médiane) INT, UINT Le registre 4x saisi en partie médiane est le premier d'un groupe de registres de sortie successifs comportant les paramètres et les valeurs de configuration associés au bloc de flux gazeux. Important : Ne tentez pas de modifier le registre 4x de la partie médiane pendant l'exécution du bloc de flux gazeux. Vous perdriez vos données. Pour modifier le registre 4x, ARRETEZ d'abord l'automate. #0003 (partie basse) INT, UINT La partie basse spécifie le type de calcul et doit contenir une constante, n° 0003. Sortie haute 0x Aucun Activée = opération réussie Sortie médiane 0x Aucun Activée = avertissement système ou programme Sortie basse 0x Aucun Activée = erreur système ou programme 31007524 8/2010 GM92 : bloc fonction flux gazeux Description des paramètres : entrées Table de configuration Il est essentiel d'indiquer toutes les valeurs pertinentes de la table de configuration en utilisant l'éditeur de données de référence dans ProWORX, Concept, les écrans de zoom DX de Modsoft ou Meter Manager. La table d'entrées suivante énumère tous les paramètres de configuration devant être renseignés. Les sorties (Table des résultats des sorties) et les sorties facultatives (Table des résultats des sorties facultatives) indiquent les résultats des calculs du bloc. Certains de ces paramètres sont obligatoires. NOTE : Seules les entrées valides sont autorisées. Les entrées dépassant les plages autorisées sont refusées. Les entrées non autorisées se traduisent par des erreurs ou des avertissements. NOTE : Concept 2.1 ou supérieur peut être utilisé pour charger les blocs gazeux. Cependant, Concept et ProWORX n'offrent ni aide, ni écrans de zoom DX pour la configuration. Si vous utilisez un logiciel de console Concept ou ProWORX, nous vous conseillons de faire appel à Meter Manager pour vos besoins de configuration. Entrées Voici ci-dessous une description détaillée des variables de configuration pour le bloc fonction flux gazeux GD92. 31007524 8/2010 Entrées Description 4xxxx+3 : 1 à 2 Emplacement des prises 1 : En amont 2 : En aval 4xxxx+3 : 3 à 4 Matériau du tube de mesure 1 : Acier inoxydable 2 : Monel 3 : Acier au carbone 4xxxx+3 : 5 à 6 Matériau de l'orifice 1 : Acier inoxydable 2 : Monel 3 : Acier au carbone 4xxxx+3 : 7 à 8 Réservé pour utilisation future (à ne pas utiliser) 4xxxx+3 : 9 à 10 Sorties facultatives 1 : Oui 2 : Non Remarque : Lors de l'utilisation des sorties standard seules, l'instruction chargeable utilise 157 registres 4xxxx. Lors de l'utilisation des sorties facultatives, elle utilise 181 registres 4xxxx. 4xxxx+3 : 11 à 16 Réservé pour utilisation future (à ne pas utiliser) 585 GM92 : bloc fonction flux gazeux 586 Entrées Description 4xxxx+4 : 1 Pression absolue/calibre 0 : Pression statique mesurée en unités absolues 1 : Pression statique mesurée en unités de calibre 4xxxx+4 : 2 Coupure du petit débit 0 : Ne pas utiliser la coupure de débit 1 : Utiliser la coupure de débit 4xxxx+4 : 3 à 6 Commande Charge 0 : Prêt à recevoir une commande 1 : CMD : Envoi de la configuration à la table interne à partir du registre 4xxxx 2 : CMD : Lecture de la configuration de la table interne vers le registre 4xxxx 3 : CMD : Réinitialisation du registre de changement de configuration de l'API 21.1. 4xxxx+4 : 7 à 8 Type d'entrée 1 : Pointeurs 3xxxx entrés dans 4x+6 à 4x+10 2 : Valeurs d'entrée saisies dans 4x+6 à 4x+10 4xxxx+4 : 9 à 10 Limites d'erreur en % de moles 1 : Activer 2 : Désactiver 4xxxx+4 : 11 à 12 Option de pression différentielle à plage double 1 : Oui 2 : Non 4xxxx+4 : 13 à 14 Compressible/Incompressible 1 : Compressible 2 : Incompressible 4xxxx+4 : 15 à 16 Méthodes de calcul de moyennes 0 : Facteur temps pondéré de façon linéaire en fonction du flux 1 : Formule dépendant du flux et pondérée en fonction du temps 2 : Moyenne linéaire pondérée selon le flux 3 : Formule pondérée selon le flux Remarque : Pour la plupart des applications, vous utiliserez la méthode 0. 4xxxx+5 : 1 à 2 Unités de mesure 1 : Unités impériales 2 : Unités SI (Système International) 4xxxx+5 : 3 à 14 Réservé pour utilisation future (à ne pas utiliser) 4xxxx+5 : 15 à 16 Réservé pour l'API 21.1 4xxxx+6 Pointeur 3xxxx ou valeur d'entrée de la température Type de données : entier non signé 4xxxx+7 Pointeur 3xxxx ou valeur d'entrée de la pression (absolue) Type de données : entier non signé 31007524 8/2010 GM92 : bloc fonction flux gazeux 31007524 8/2010 Entrées Description 4xxxx+8 Pointeur 3xxxx ou valeur d'entrée de la pression différentielle 1 Type de données : entier non signé 4xxxx+9 Pointeur 3xxxx ou valeur d'entrée de la pression différentielle 2 Type de données : entier non signé 4xxxx+10 Valeur brute d'entrée analogique de la température minimale Type de données : entier non signé 4xxxx+11 Valeur brute d'entrée analogique de la température maximale Type de données : entier non signé 4xxxx+12 Valeur brute d'entrée analogique de la pression minimale Type de données : entier signé 4xxxx+13 Valeur brute d'entrée analogique de la pression maximale Type de données : entier signé 4xxxx+14 Valeur brute d'entrée analogique de la pression différentielle 1 minimale Type de données : entier signé 4xxxx+15 Valeur brute d'entrée analogique de la pression différentielle 1 maximale Type de données : entier signé 4xxxx+16 Valeur brute d'entrée analogique de la pression différentielle 2 minimale Type de données : entier signé 4xxxx+17 Valeur brute d'entrée analogique de la pression différentielle 2 maximale Type de données : entier signé 4xxxx+18 à 19 Température minimale en unités physiques -200 à 760 °F (-128,89 à 404,4 °C) Type de données : nombre à virgule flottante 4xxxx+20 à 21 Température maximale en unités physiques -200 à 760 °F (-128,89 à 404,4 °C) Type de données : nombre à virgule flottante 4xxxx+22 à 23 Pression minimale en unités physiques 0 à 40 000 psia (0 à 275 790,28 kPa) Type de données : nombre à virgule flottante 4xxxx+24 à 25 Pression maximale en unités physiques 0 à 40 000 psia (0 à 275 790,28 kPa) Type de données : nombre à virgule flottante 4xxxx 26 à 27 Pression différentielle 1 minimale en unités physiques >= 0 (pouces H2O ou kPa) Type de données : nombre à virgule flottante 4xxxx+28 à 29 Pression différentielle 1 maximale en unités physiques > 0 (pouces H2O ou kPa) Type de données : nombre à virgule flottante 587 GM92 : bloc fonction flux gazeux 588 Entrées Description 4xxxx+30 à 31 Pression différentielle 2 minimale en unités physiques >= 0 (pouces H2O ou kPa) Type de données : nombre à virgule flottante 4xxxx+32 à 33 Pression différentielle 2 maximale en unités physiques > 0 (pouces H2O ou kPa) Type de données : nombre à virgule flottante 4xxxx+34 à 35 Diamètre du diaphragme à orifice, d r (0 < dr < 100 pouces) (0 < dr < 2 540 mm) Type de données : nombre à virgule flottante 4xxxx+36 à 37 Mesure de la température du diamètre du diaphragme à orifice, T r (32 <= Tr < 77 °F) (0 <= Tr < 25 °C) Type de données : nombre à virgule flottante 4xxxx+38 à 39 Diamètre interne du tube de mesure D r (0 <Dr <100 pouces) (0 < Dr < 2 540 mm) Type de données : nombre à virgule flottante 4xxxx+40 à 41 Température du diamètre interne du tube de mesure T r (32 <= Tr < 77 °F) (0 <= Tr < 25 °C) Type de données : nombre à virgule flottante 4xxxx+42 à 43 Température de base, T b (32,0 <= Tb < 77,0 °F) (0 <= Tb < 25 °C) Type de données : nombre à virgule flottante 4xxxx+44 à 45 Pression de base, P b (13,0 <= Pb < 16,0 PSIA) (89,63 <= Pb < 110,32 kPa) Type de données : nombre à virgule flottante 4xxxx+46 à 47 Température de référence pour la densité relative, T gr (32,0 <= Tgr < 77,0 °F) (0 <= Tgr < 25 °C) Type de données : nombre à virgule flottante 4xxxx 48 à 49 Pression de référence pour la densité relative, P gr (13,0 <= Pgr < 16,0 PSIA) (89,63 <= Pgr < 110,32 kPa) Type de données : nombre à virgule flottante 4xxxx+50 à 57 Réservé pour utilisation future (à ne pas utiliser) 4xxxx+58 à 59 Facteur de correction de l'entrée utilisateur, F u (0 < Fu < 2,0) Type de données : nombre à virgule flottante 4xxxx+60 à 61 Viscosité absolue du fluide, μ c (0,005 <= μc <= 0,5 centipoise) Type de données : nombre à virgule flottante 4xxxx+62 à 63 Exposant isentropique, k (1,0 <= k < 2,0) Type de données : nombre à virgule flottante 31007524 8/2010 GM92 : bloc fonction flux gazeux Entrées Description 4xxxx+64 Heure du commencement du jour (0 ... 23) Type de données : entier non signé 4xxxx+65 à 78 Réservé pour l'API 21.1 4xxxx+79 à 80 Pression atmosphérique P at (3 <= Pat <30 psi) (20,684 <= Pat < 206,843 kPa) Type de données : nombre à virgule flottante 4xxxx+81 à 82 Niveau de coupure du petit débit (>= 0 pi3/h) (>= 0 m3/h) Utilisé si activé dans 4x+4 : 2. Type de données : nombre à virgule flottante 31007524 8/2010 4xxxx+83 à 84 % moles de méthane, x i *(0,0 <= xi <= 100) Type de données : nombre à virgule flottante 4xxxx+85 à 86 % moles d'azote, x i *(0,0 <= xi <= 100) Type de données : nombre à virgule flottante 4xxxx+87 à 88 % moles de dioxyde de carbone, x i *(0,0 <= xi <= 100) Type de données : nombre à virgule flottante 4xxxx+89 à 90 % moles d'éthane, x i *(0,0 <= xi <= 100) Type de données : nombre à virgule flottante xxx+91 à 92 % moles de propane, x i *(0,0 <= xi <= 12) Type de données : nombre à virgule flottante 4xxxx+93 à 94 % moles d'eau, x i *(0,0 <= xi <= 10) Type de données : nombre à virgule flottante 4xxxx+95 à 96 % moles de sulfure d'hydrogène, x i *(0,0 <= xi <= 100) Type de données : nombre à virgule flottante 4xxxx+97 à 98 % moles d'hydrogène, x i *(0,0 <= xi <= 100) Type de données : nombre à virgule flottante 4xxxx+99 à 100 % moles de monoxyde de carbone, x i *(0,0 <= xi <= 3) Type de données : nombre à virgule flottante 589 GM92 : bloc fonction flux gazeux Entrées Description 4xxxx+101 à 102 % moles d'oxygène, x i *(0,0 <= xi <= 21) Type de données : nombre à virgule flottante 4xxxx+103 à 104 % moles d'I-butane, x i *(0,0 <= xi <= 6) pour des butanes combinés Type de données : nombre à virgule flottante 4xxxx+105 à 106 % moles de n-butane, x i *(0,0 <= xi <= 6) pour des butanes combinés Type de données : nombre à virgule flottante 4xxxx+107 à 108 % mole d'I-pentane, x i *(0,0 <= xi <= 4) pour des pentanes combinés Type de données : nombre à virgule flottante 4xxxx+109 à 110 % moles de n-pentane, x i *(0,0 <= xi <= 4) pour des pentanes combinés Type de données : nombre à virgule flottante 4xxxx+111 à 112 % moles d'hexane, x i *(0,0 <= xi <= 10) pour l'ensemble des hexanes + Type de données : nombre à virgule flottante 4xxxx+113 à 114 % moles d'heptane, x i *(0,0 <= xi <= 10) pour l'ensemble des hexanes + Type de données : nombre à virgule flottante 4xxxx+115 à 116 % moles d'octane, x i *(0,0 <= xi <= 10) pour l'ensemble des hexanes + Type de données : nombre à virgule flottante 4xxxx+117 à 118 % moles de nonane, x i *(0,0 <= xi <= 10) pour l'ensemble des hexanes + Type de données : nombre à virgule flottante 4xxxx+119 à 120 % moles de décane, x i *(0,0 <= xi <= 10) pour l'ensemble des hexanes + Type de données : nombre à virgule flottante 4xxxx+121 à 122 % moles d'hélium, x i *(0,0 <= xi <= 30) Type de données : nombre à virgule flottante 4xxxx+123 à 124 % moles d'argon, x i *(0,0 <= xi <= 100) Type de données : nombre à virgule flottante *Plage valide 590 31007524 8/2010 GM92 : bloc fonction flux gazeux Description des paramètres : sorties Table des résultats des sorties Les sorties correspondent aux résultats des calculs du bloc. Sorties Description 4xxxx+0 Avertissement système/code d'erreur (affiché en mode hexadécimal) 4xxxx+1 Avertissement programme/code d'erreur 4xxxx+2 Numéro de version (affiché en mode hexadécimal) 4xxxx+125 à 126 Température aux conditions du flux (Tc) (°F ou °C) 4xxxx+127 à 128 Pression (Pf) (psia ou kPa) 4xxxx+129 à 130 Pression différentielle (hw) (en H2O ou kPa) 4xxxx+131 à 132 Valeur entière (VE) 4xxxx+133 à 134 Valeur du multiplicateur entier (VME) 4xxxx 135 à 136 Débit dans des conditions ordinaires (Tb, Pb), Qb (pi3/h ou m3/h) 31007524 8/2010 4xxxx+137 à 138 Débit de masse (Qm) (lbm/h ou kg/h) 4xxxx+139 à 140 Volume accumulé jour courant 4xxxx+141 à 142 Volume accumulé heure précédente 4xxxx+143 à 144 Volume accumulé jour précédent 4xxxx 145 à 152 Réservé pour l'API 21.1 4xxxx+153 Valeur d'erreur/d'avertissement définissable par l'utilisateur (à utiliser pour l'API 21.1) 4xxxx+155 : 13 La table 4xxxx diffère de la configuration réelle 4xxxx+155 : 14 Pulsation d'exécution complète du débit 4xxxx+155 : 15 Pulsation du bloc en fonctionnement 4xxxx+155 : 16 Drapeau de fin de journée 591 GM92 : bloc fonction flux gazeux Description des paramètres : sorties facultatives Table de configuration des sorties facultatives Les sorties facultatives correspondent aux résultats des calculs du bloc. Ces sorties ne sont actives que lorsque 4x+3 : 9 ... 10 est égale à 1. 592 Sorties facultatives Description 4xxxx+156 à 157 Compressibilité aux conditions de flux (Tf, Pf), Zf 4xxxx 158 à 159 Compressibilité aux conditions ordinaires (Tb, Pb), Zb 4xxxx+160 à 161 Compressibilité aux conditions standard (Ts, Ps), Zs 4xxxx+162 à 163 Densité de fluide aux conditions de flux (Pt,p) 4xxxx+164 à 165 Densité de fluide aux conditions ordinaires (ρ) 4xxxx+166 à 167 Surcompressibilité (Fpv) 4xxxx+168 à 169 Densité relative du gaz (Gr) 4xxxx+170 à 171 Coefficient de débit du diaphragme à orifice (Cd) 4xxxx+172 à 173 Facteur d'extension (Y) 4xxxx+174 à 175 Facteur de vitesse d'approche (Ev) 4xxxx+176 à 177 Débit aux conditions de flux (Tf, Pf), Qf 4xxxx+178 à 179 Réservé pour utilisation future (à ne pas utiliser) 4xxxx+180 Le coefficient de débit du diaphragme à orifice confine le drapeau à l'intérieur du plan d'itération (Cd-f) 31007524 8/2010 Bloc fonction flux gazeux G392 31007524 8/2010 Bloc fonction flux gazeux G392 AGA #3 1992 93 Introduction Ce chapitre présente la méthode brute de l'instruction G392 AGA #3 1992 avec le suivi d'audit API 21.1. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Description sommaire 594 Représentation 595 Description des paramètres : entrées 597 Description des paramètres : sorties 602 Description des paramètres : sorties facultatives 603 593 Bloc fonction flux gazeux G392 Description sommaire Description de la fonction La fonction bloc chargeable flux gazeux G392 est disponible uniquement sur certains automates Compact et Micro. Le bloc fonction chargeable flux gazeux vous permet d'exécuter des équations AGA 3 (1992). Les valeurs de débit obtenues sont, à 1 ppm près, conformes aux standards AGA. NOTE : Vous devez installer l'instruction chargeable LSUP avant G392. Informations complémentaires Pour plus d'informations sur les instructions chargeables du bloc fonction flux gazeux, en particulier : z les codes d'erreur/avertissements système (4x+0) pour chaque instruction z les codes d'erreur/avertissements programme (4x+1) pour chaque instruction z le suivi d'audit API 21.1 z l'utilitaire GET_LOGS.EXE z l'utilitaire SET_SIZE.EXE Reportez-vous au manuel Guide utilisateur du bloc fonction chargeable flux gazeux Starling Associates Modicon (890 USE 137). 594 31007524 8/2010 Bloc fonction flux gazeux G392 Représentation Symbole Représentation de l'instruction Description des paramètres Description des paramètres de l'instruction 31007524 8/2010 Paramètres Référence de mémoire d'état Type de données Signification Entrée haute 0x, 1x Aucun Activée = résolution Cette entrée déclenche le calcul du flux gazeux. Les calculs sont basés sur les paramètres que vous avez entrés dans les registres d'entrée. Important : Ne détachez jamais l'entrée haute pendant le fonctionnement du bloc. Vous provoqueriez une erreur 188 et les données de ce bloc seraient corrompues. Important : Il est ESSENTIEL d'indiquer toutes les valeurs pertinentes dans la table de configuration. Pour plus d'informations sur la saisie de valeurs, reportez-vous à la section Table de configuration, page 597. 595 Bloc fonction flux gazeux G392 Paramètres 596 Référence de mémoire d'état Type de données Signification Entrée médiane 0x, 1x Aucun Vous permet de définir un avertissement. Vous permet de définir un avertissement et de consigner des activités de périphériques dans le journal des événements de suivi d'audit sans arrêter le bloc. Important : Il est ESSENTIEL d'indiquer toutes les valeurs pertinentes dans la table de configuration. Pour plus d'informations sur la saisie de valeurs, reportez-vous à la section Table de configuration, page 597. Entrée basse 0x, 1x Aucun Vous permet de définir une erreur et d'arrêter la fonction flux. Vous permet de définir une erreur, de consigner les erreurs dans le journal des événements de suivi d'audit et d'ARRETER la fonction flux. Important : Il est ESSENTIEL d'indiquer toutes les valeurs pertinentes dans la table de configuration. Pour plus d'informations sur la saisie de valeurs, reportez-vous à la section Table de configuration, page 597. Constante #0001 (partie haute) 4x INT, UINT La partie haute doit contenir une constante, n° 0001. registre 4x (partie médiane) INT, UINT Le registre 4x saisi en partie médiane est le premier d'un groupe de registres de sortie successifs comportant les paramètres et les valeurs de configuration associés au bloc de flux gazeux. Important : Ne tentez pas de modifier le registre 4x de la partie médiane pendant l'exécution du bloc de flux gazeux. Vous perdriez vos données. Pour modifier le registre 4x, ARRETEZ d'abord l'automate. #0017 (partie basse) INT, UINT La partie basse spécifie le type de calcul et doit contenir une constante, n° 0017. Sortie haute 0x Aucun Activée = opération réussie Sortie médiane 0x Aucun Activée = avertissement système ou programme Sortie basse 0x Aucun Activée = erreur système ou programme 31007524 8/2010 Bloc fonction flux gazeux G392 Description des paramètres : entrées Table de configuration Il est essentiel d'indiquer toutes les valeurs pertinentes de la table de configuration en utilisant l'éditeur de données de référence dans ProWORX, Concept, les écrans de zoom DX de Modsoft ou Meter Manager. La table d'entrées suivante énumère tous les paramètres de configuration devant être renseignés. Les sorties (Table des résultats des sorties) et les sorties facultatives (Table des résultats des sorties facultatives) indiquent les résultats des calculs du bloc. Certains de ces paramètres sont obligatoires. NOTE : Seules les entrées valides sont autorisées. Les entrées dépassant les plages autorisées sont refusées. Les entrées non autorisées se traduisent par des erreurs ou des avertissements. NOTE : Concept 2.1 ou supérieur peut être utilisé pour charger les blocs gazeux. Cependant, Concept et ProWORX n'offrent ni aide, ni écrans de zoom DX pour la configuration. Si vous utilisez un logiciel de console Concept ou ProWORX, nous vous conseillons de faire appel à Meter Manager pour vos besoins de configuration. Entrées La table suivante offre une description détaillée des variables de configuration pour le bloc fonction flux gazeux G392. 31007524 8/2010 Entrées Description 4xxxx+3 : 1 à 2 Emplacement des prises 1 : En amont 2 : En aval 4xxxx+3 : 3 à 4 Matériau du tube de mesure 1 : Acier inoxydable 2 : Monel 3 : Acier au carbone 4xxxx+3 : 5 à 6 Matériau de l'orifice 1 : Acier inoxydable 2 : Monel 3 : Acier au carbone 4xxxx+3 : 7 à 8 Type d'entrée utilisateur de compressibilité 1 : Densité aux conditions de débit et aux conditions ordinaires 2 : Facteur de compressibilité aux conditions de débit et aux conditions ordinaires, et densité relative du gaz aux conditions ordinaires 597 Bloc fonction flux gazeux G392 598 Entrées Description 4xxxx+3 : 9 à 10 Sorties facultatives 1 : Oui 2 : Non Remarque : Lors de l'utilisation des sorties standard seules, l'instruction chargeable utilise157 registres 4xxxx. Lors de l'utilisation des sorties facultatives, elle utilise 181 registres 4xxxx. 4xxxx+3 : 11 à 16 Réservé pour utilisation future (à ne pas utiliser) 4xxxx+4 : 1 Pression absolue/calibre 0 : Pression statique mesurée en unités absolues 1 : Pression statique mesurée en unités de calibre 4xxxx+4 : 2 Coupure du petit débit 0 : Ne pas utiliser la coupure de débit 1 : Utiliser la coupure de débit 4xxxx+4 : 3 à 6 Commande Charge 0 : Prêt à recevoir une commande 1 : CMD : Envoi de la configuration à la table interne à partir du registre 4xxxx 2 : CMD : Lecture de la configuration de la table interne vers le registre 4xxxx 3 : CMD : Réinitialisation du registre de changement de configuration de l'API 21.1. 4xxxx+4 : 7 à 8 Type d'entrée 1 : pointeurs 3xxxx entrés dans 4x+6 à 4x+10 2 : valeurs d'entrée saisies dans 4 x+6 à 4x+10 4xxxx+4 : 9 à 10 Réservé pour utilisation future (à ne pas utiliser) 4xxxx+4 : 11 à 12 Option de pression différentielle à plage double 1 : Oui 2 : Non 4xxxx+4 : 13 à 14 Compressible/Incompressible 1 : Compressible 2 : Incompressible 4xxxx+4 : 15 à 16 Méthodes de calcul de moyennes 0 : Facteur temps pondéré de façon linéaire en fonction du flux 1 : Formule dépendant du flux et pondérée en fonction du temps 2 : Moyenne linéaire pondérée selon le flux 3 : Formule pondérée selon le flux Remarque : Pour la plupart des applications, vous utiliserez la méthode 0. 4xxxx+5 : 1 à 2 Unités de mesure 1 : Unités impériales 2 : Unités SI (Système International) 31007524 8/2010 Bloc fonction flux gazeux G392 31007524 8/2010 Entrées Description 4xxxx+5 : 3 à 14 Réservé pour utilisation future (à ne pas utiliser) 4xxxx+5 : 5 à 16 Réservé pour l'API 21.1 4xxxx+6 Pointeur 3xxxx ou valeur d'entrée de la température Type de données : entier non signé 4xxxx+7 Pointeur 3xxxx ou valeur d'entrée de la pression (absolue) Type de données : entier non signé 4xxxx+8 Pointeur 3xxxx ou valeur d'entrée de la pression différentielle 1 Type de données : entier non signé 4xxxx+9 Pointeur 3xxxx ou valeur d'entrée de la pression différentielle 2 Type de données : entier non signé 4xxxx+10 Valeur brute d'entrée analogique de la température minimale Type de données : entier non signé 4xxxx+11 Valeur brute d'entrée analogique de la température maximale Type de données : entier non signé 4xxxx+12 Valeur brute d'entrée analogique de la pression minimale Type de données : entier signé 4xxxx+13 Valeur brute d'entrée analogique de la pression maximale Type de données : entier signé 4xxxx+14 Valeur brute d'entrée analogique de la pression différentielle 1 minimale Type de données : entier signé 4xxxx+15 Valeur brute d'entrée analogique de la pression différentielle 1 maximale Type de données : entier signé 4xxxx+16 Valeur brute d'entrée analogique de la pression différentielle 2 minimale Type de données : entier signé 4xxxx+17 Valeur brute d'entrée analogique de la pression différentielle 2 maximale Type de données : entier signé 4xxxx+18 à 19 Température minimale en unités physiques -128,89 à 404,4 °C Type de données : nombre à virgule flottante 4xxxx+20 à 21 Température maximale en unités physiques -200 à 760 °F (-128,89 à 404,4 °C) Type de données : nombre à virgule flottante 4xxxx+22 à 23 Pression minimale en unités physiques 0 à 40 000 psia (0 à 275 790,28 kPa) Type de données : nombre à virgule flottante 599 Bloc fonction flux gazeux G392 600 Entrées Description 4xxxx+24 à 25 Pression maximale en unités physiques 0 à 40 000 psia (0 à 275 790,28 kPa) Type de données : nombre à virgule flottante 4xxxx 26 à 27 Pression différentielle 1 minimale en unités physiques >= 0 (pouces H2O ou kPa) Type de données : nombre à virgule flottante 4xxxx+28 à 29 Pression différentielle 1 maximale en unités physiques > 0 (pouces H2O ou kPa) Type de données : nombre à virgule flottante 4xxxx+30 à 31 Pression différentielle 2 minimale en unités physiques >= 0 (pouces H2O ou kPa) Type de données : nombre à virgule flottante 4xxxx+32 à 33 Pression différentielle 2 maximale en unités physiques > 0 (pouces H2O ou kPa) Type de données : nombre à virgule flottante 4xxxx+34 à 35 Diamètre du diaphragme à orifice, d r (0 < dr < 100 pouces) (0 < dr < 2 540 mm) Type de données : nombre à virgule flottante 4xxxx+36 à 37 Mesure de la température du diamètre du diaphragme à orifice, T r (32 <= Tr < 77 °F) (0 <= Tr < 25 °C) Type de données : nombre à virgule flottante 4xxxx+38 à 39 Diamètre interne du tube de mesure D r (0 <Dr <100 pouces) (0 < Dr < 2 540 mm) Type de données : nombre à virgule flottante 4xxxx+40 à 41 Température du diamètre interne du tube de mesure T r (32 <= Tr < 77 °F) (0 <= Tr < 25 °C) Type de données : nombre à virgule flottante 4xxxx+42 à 43 Température de base, T b (32,0 <= Tb < 77,0 °F) (0 <= Tb < 25 °C) Type de données : nombre à virgule flottante 4xxxx+44 à 45 Pression de base, P b (13,0 <= Pb < 16,0 PSIA) (89,63 <= Pb < 110,32 kPa) Type de données : nombre à virgule flottante 4xxxx+46 à 57 Réservé pour utilisation future (à ne pas utiliser) 4xxxx+58 à 59 Facteur de correction de l'entrée utilisateur, F u (0 < Fu < 2,0) Type de données : nombre à virgule flottante 31007524 8/2010 Bloc fonction flux gazeux G392 Entrées Description 4xxxx+60 à 61 Viscosité absolue du fluide, μ c (0,005 <= μc <= 0,5 centipoise) Type de données : nombre à virgule flottante 4xxxx+62 à 63 Exposant isentropique, k (1,0 <= k < 2,0) Type de données : nombre à virgule flottante 4xxxx+64 Heure du commencement du jour (0 à 23) Type de données : entier non signé 4xxxx+65 à 78 Réservé pour la configuration de l'API 21.1 4xxxx+79 à 80 Pression atmosphérique P at (3 <= Pat <30 psi) (20,684 <= Pat < 206,843 kPa) Type de données : nombre à virgule flottante 4xxxx+81 à 82 Niveau de coupure du petit débit (>= 0 pi3/h) (>= 0 m3/h) Utilisé si activé dans 4x+4 : 2. Type de données : nombre à virgule flottante 4xxxx+83 à 84 Densité aux conditions du flux, ρf (0 < ρf < 1 000,0 lbm/pi3) (0 < ρf < 1 601,846 kg/m3) Type de données : nombre à virgule flottante 4xxxx+85 à 86 Densité aux conditions ordinaires, ρb (0 < ρb < 100,0 lbm/pi3) (0 < ρb < 1 601,846 kg/m3) Type de données : nombre à virgule flottante 31007524 8/2010 4xxxx+87 à 88 Facteur de compressibilité aux conditions du flux, Z f (0 < Zf < 3) Type de données : nombre à virgule flottante 4xxxx+89 à 90 Facteur de compressibilité aux conditions ordinaires, Z b (0 < Zb < 3) Type de données : nombre à virgule flottante xxx+91 à 92 Densité relative du gaz aux conditions ordinaires, Gr (0,07 <= Gr < 1,52) Type de données : nombre à virgule flottante 4xxxx+93 à 124 Réservé pour utilisation future (à ne pas utiliser) 601 Bloc fonction flux gazeux G392 Description des paramètres : sorties Table des résultats des sorties Les sorties correspondent aux résultats des calculs du bloc. Sorties Description 4xxxx+0 Avertissement système/code d'erreur (affiché en mode hexadécimal) 4xxxx+1 Avertissement programme/code d'erreur 4xxxx+2 Numéro de version (affiché en mode hexadécimal) 4xxxx+125 à 126 Température aux conditions du flux (Tf) (°F ou °C) 4xxxx+127 à 128 Pression (Pf) (psia ou kPa) 4xxxx+129 à 130 Pression différentielle (hw) (H2O ou kPa) 4xxxx+131 à 132 Valeur entière (VE) 4xxxx+133 à 134 Valeur du multiplicateur entier (VME) 4xxxx 135 à 136 Débit dans des conditions ordinaires (Tb, Pb), Qb (pi3/h ou m3/h) 602 4xxxx+137 à 138 Débit de masse (Qm) 4xxxx+139 à 140 Volume accumulé jour courant 4xxxx+141 à 142 Volume accumulé heure précédente 4xxxx+143 à 144 Volume accumulé jour précédent 4xxxx 145 à 152 Réservé pour l'API 21.1 4xxxx+153 Valeur d'erreur/d'avertissement définissable par l'utilisateur (à utiliser pour l'API 21.1) 4xxxx+155 : 13 La table 4xxxx diffère de la configuration réelle 4xxxx+155 : 14 Pulsation d'exécution complète du débit 4xxxx+155 : 15 Pulsation du bloc en fonctionnement 4xxxx+155 : 16 Drapeau de fin de journée 31007524 8/2010 Bloc fonction flux gazeux G392 Description des paramètres : sorties facultatives Table de configuration des sorties facultatives Les sorties facultatives correspondent aux résultats des calculs du bloc. Ces sorties ne sont actives que si 4x+3 : 9 ... 10 est égal à 1. 31007524 8/2010 Sorties facultatives Description 4xxxx+156 à 157 Compressibilité aux conditions de flux (Tf, Pf), Zf 4xxxx+158 à 159 Compressibilité aux conditions ordinaires (Tb, Pb), Zb 4xxxx+160 à 161 Réservé pour utilisation future (à ne pas utiliser) 4xxxx+162 à 163 Densité du fluide aux conditions de flux (Pt,p) 4xxxx+164 à 165 Densité de fluide aux conditions ordinaires (ρ) 4xxxx+166 à 167 Surcompressibilité (Fpv) 4xxxx+168 à 169 Densité relative du gaz (Gr) 4xxxx+170 à 171 Coefficient de débit du diaphragme à orifice (Cd) 4xxxx+172 à 173 Facteur d'extension (Y) 4xxxx+174 à 175 Facteur de vitesse d'approche (Ev) 4xxxx+176 à 177 Débit aux conditions de flux (Tf, Pf), Qf 4xxxx+178 à 179 Réservé pour utilisation future (à ne pas utiliser) 4xxxx+180 Le coefficient de débit du diaphragme à orifice confine le drapeau à l'intérieur du plan d'itération (Cd-f) 603 Bloc fonction flux gazeux G392 604 31007524 8/2010 HLTH : matrices des états et des historiques 31007524 8/2010 HLTH : matrices des états et des historiques 94 Introduction Ce chapitre décrit l'instruction HLTH. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 606 Représentation 607 Description des paramètres 609 Description des paramètres de la partie haute (matrice de l'historique) 610 Description des paramètres de la partie médiane (matrice des états) 615 Description des paramètres de la partie basse (longueur) 619 605 HLTH : matrices des états et des historiques Description sommaire Description de la fonction NOTE : Cette instruction n'est disponible que si vous avez décompacté et installé les instructions chargeables DX ; vous trouverez de plus amples informations dans le chapitre "Installation des instructions chargeables DX, page 79." Linstruction HLTH crée des matrices des états et des historiques à partir de registres de mémoire interne pouvant être utilisés dans la logique de schéma à contacts pour détecter les changements d'état et de fonctions de communication de l'automate avec les E/S. Elle peut également être utilisée pour alerter l'utilisateur des changements dans un système automatisé. HLTH dispose de deux modes de fonctionnement, (apprentissage) et (contrôle). 606 31007524 8/2010 HLTH : matrices des états et des historiques Représentation Symbole Représentation de l'instruction 31007524 8/2010 607 HLTH : matrices des états et des historiques Description des paramètres Description des paramètres de l'instruction Paramètres Référence de Type de mémoire données d'état Entrée haute 0x, 1x Aucun L'état actif déclenche l'opération définie Entrée médiane 0x, 1x Aucun Mode apprentissage/contrôle Pour plus d'informations, reportez-vous à la section Mode apprentissage / contrôle (entrées médiane et basse), page 609. Entrée basse 0x, 1x Aucun Mode apprentissage/contrôle Pour plus d'informations, reportez-vous à la section Mode apprentissage / contrôle (entrées médiane et basse), page 609. historique (partie haute) 4x INT, UINT, WORD Matrice de l'historique (premier d'un bloc de registres successifs, compris entre 6 et 135) état (partie médiane) 4x INT, UINT, WORD Matrice des états (premier d'un bloc de registres successifs, compris entre 3 et 132) INT, UINT longueur = (nombre de stations RIO x 4) + 3 longueur (partie basse) 608 Signification Sortie haute 0x Aucun Donne une image de l'état de l'entrée haute Sortie médiane 0x Aucun Donne une image de l'état de l'entrée médiane Sortie basse 0x Aucun Activée = Erreur 31007524 8/2010 HLTH : matrices des états et des historiques Description des paramètres Modes de fonctionnement L'instruction HLTH dispose de deux modes de fonctionnement : Type de mode Signification Mode HLTH peut être initialisée pour apprendre la configuration dans laquelle d'apprentissage elle est implémentée et sauvegarder l'information comme une référence dans le temps appelée matrice de l'historique. Cette matrice contient : z Un numéro de station donné par l'utilisateur pour le contrôle des états des communications z Le total de contrôle logique utilisateur z L'indicateur des E/S invalides z L'état du fonctionnement du S911 z Le choix d'un système à câble unique ou redondant z L'affichage des affectations des E/S Mode contrôle Le mode contrôle permet de vérifier les conditions du système automatisé. Les changements détectés sont mémorisés dans une matrice des états. La matrice des états donne les conditions du système les plus récentes et positionne la configuration binaire pour signaler les changements. La matrice des états contient : z Les états de communication de la station mentionnée dans la matrice de l'historique z Un drapeau indiquant s'il y a des E/S désactivées z Des drapeaux indiquant l'état "on/off" du cycle constant et du commutateur à clé de protection mémoire z Des drapeaux indiquant la condition Pile faible et si la redondance d'UC est en fonction z Les données de position du module défectueux z Un drapeau de total de contrôle logique modifié z Un drapeau de communication RIO perdue Mode apprentissage / contrôle (entrées médiane et basse) L'instruction HLTH possède trois entrées de commande et peut générer trois sorties possibles. Les états combinés des entrées médiane et basse commandent le mode de fonctionnement : 31007524 8/2010 Entrée médiane Entrée basse Opération ON OFF Mode apprentissage en système à câble redondant ON ON Mode apprentissage en système à câble unique OFF ON Mode contrôle OFF OFF Mode contrôle mise à jour total de contrôle logique 609 HLTH : matrices des états et des historiques Description des paramètres de la partie haute (matrice de l'historique) Matrice de l'historique (partie haute) Le registre 4x placé en partie haute est le premier d'un bloc de registres successifs composant la matrice de l'historique. Les données destinées à la matrice de l'historique sont collectées par l'instruction durant la phase en mode apprentissage et sont placées dans la matrice au moment du passage en mode Contrôle. La longueur de la matrice de l'historique peut varier de 6 à 135 registres. Voici ci– dessous une description des mots de la matrice de l'historique. Les informations du mot 1 se trouvent dans le registre affiché en partie haute et les informations des mots 2 à 135 sont mémorisées dans les registres implicites. Mot 1 Saisie du numéro de station (entre 0 et 32) à contrôler pour les nouvelles tentatives Mot 2 Mot de poids fort du total de contrôle appris Mot 3 Mot de poids faible du total de contrôle appris Mot 4 L'état et un compteur de multiplexage des entrées. HLTH traite 16 mots d'entrée (256 entrées) par cycle. Ce mot retient la dernière position de mot du dernier cycle. Le registre est réécrit à chaque cycle. La valeur de la partie compteur du mot s'accroît jusqu'au nombre maximum des entrées puis repart de 0. Utilisation du mot 4 : 610 Bit Fonction 1 1 = au moins une entrée invalidée a été trouvée 2 - 16 Compte du nombre de mots dont on a contrôlé les entrées désactivées avant ce cycle 31007524 8/2010 HLTH : matrices des états et des historiques Mot 5 Etat et un compteur pour le multiplexage des sorties afin de détecter si l'une d'elles est désactivée. HLTH vérifie 16 mots (256 sorties) par cycle pour en trouver une désactivée. Elle prend la dernière position de mot du dernier cycle. Le bloc est réécrit à chaque cycle. La valeur de la partie cycle s'accroît jusqu'au maximum des sorties puis repart de 0. Utilisation du mot 5 : Bit Fonction 1 1 = au moins une sortie désactivée (forcée) a été trouvée. 2 - 16 Compte du nombre de mots dont on a contrôlé les sorties désactivées avant ce cycle Mot 6 Données apprises du câble de redondance d'UC Utilisation du mot 6 : Bit Fonction 1 1 = S911 présent pendant l'apprentissage. 2-8 Inutilisé 9 1 = contrôle du câble A. 10 1 = contrôle du câble B. 11 - 16 Inutilisé Mots 7 à 134 Ces mots définissent la condition apprise de la station 1 à la station 32, comme suit : Mot Numéro de station 7 à 10 1 11 à 14 2 15 à 18 3 : : : : 131 à 134 32 La structure des quatre mots affectés à chaque station est la suivante : 31007524 8/2010 611 HLTH : matrices des états et des historiques Premier mot Bit Fonction 1 Bit de retard de station 1 Note : Les bits de retard de station servent au logiciel à retarder le contrôle de la station pendant quatre cycles après le rétablissement des communications avec une station. La valeur du retard n'est destinée qu'à un usage interne et ne nécessite aucune intervention de l'utilisateur. 2 Bit de retard de station 2 3 Bit de retard de station 3 4 Bit de retard de station 4 5 Bit de retard de station 5 6 Châssis 1, emplacement 1, module trouvé 7 Châssis 1, emplacement 2, module trouvé 8 Châssis 1, emplacement 3, module trouvé 9 Châssis 1, emplacement 4, module trouvé 10 Châssis 1, emplacement 5, module trouvé 11 Châssis 1, emplacement 6, module trouvé 12 Châssis 1, emplacement 7, module trouvé 13 Châssis 1, emplacement 8, module trouvé 14 Châssis 1, emplacement 9, module trouvé 15 Châssis 1, emplacement 10, module trouvé 16 Châssis 1, emplacement 11, module trouvé Deuxième mot 612 Bit Fonction 1 Châssis 2, emplacement 1, module trouvé 2 Châssis 2, emplacement 2, module trouvé 3 Châssis 2, emplacement 3, module trouvé 4 Châssis 2, emplacement 4, module trouvé 5 Châssis 2, emplacement 5, module trouvé 6 Châssis 2, emplacement 6, module trouvé 7 Châssis 2, emplacement 7, module trouvé 8 Châssis 2, emplacement 8, module trouvé 31007524 8/2010 HLTH : matrices des états et des historiques Bit Fonction 9 Châssis 2, emplacement 9, module trouvé 10 Châssis 2, emplacement 10, module trouvé 11 Châssis 2, emplacement 11, module trouvé 12 Châssis 3, emplacement 1, module trouvé 13 Châssis 3, emplacement 2, module trouvé 14 Châssis 3, emplacement 3, module trouvé 15 Châssis 3, emplacement 4, module trouvé 16 Châssis 3, emplacement 5, module trouvé Troisième mot 31007524 8/2010 Bit Fonction 1 Châssis 3, emplacement 6, module trouvé 2 Châssis 3, emplacement 7, module trouvé 3 Châssis 3, emplacement 8, module trouvé 4 Châssis 3, emplacement 9, module trouvé 5 Châssis 3, emplacement 10, module trouvé 6 Châssis 3, emplacement 11, module trouvé 7 Châssis 4, emplacement 1, module trouvé 8 Châssis 4, emplacement 2, module trouvé 9 Châssis 4, emplacement 3, module trouvé 10 Châssis 4, emplacement 4, module trouvé 11 Châssis 4, emplacement 5, module trouvé 12 Châssis 4, emplacement 6, module trouvé 13 Châssis 4, emplacement 7, module trouvé 14 Châssis 4, emplacement 8, module trouvé 15 Châssis 4, emplacement 9, module trouvé 16 Châssis 4, emplacement 10, module trouvé 613 HLTH : matrices des états et des historiques Quatrième mot 614 Bit Fonction 1 Châssis 4, emplacement 11, module trouvé 2 Châssis 5, emplacement 1, module trouvé 3 Châssis 5, emplacement 2, module trouvé 4 Châssis 5, emplacement 3, module trouvé 5 Châssis 5, emplacement 4, module trouvé 6 Châssis 5, emplacement 5, module trouvé 7 Châssis 5, emplacement 6, module trouvé 8 Châssis 5, emplacement 7, module trouvé 9 Châssis 5, emplacement 8, module trouvé 10 Châssis 5, emplacement 9, module trouvé 11 Châssis 5, emplacement 10, module trouvé 12 Châssis 5, emplacement 11, module trouvé 13 à 16 Inutilisé 31007524 8/2010 HLTH : matrices des états et des historiques Description des paramètres de la partie médiane (matrice des états) Matrice des états (partie médiane) Le registre 4x saisi dans la partie médiane est le premier d'un bloc de registres de sortie successifs qui composera la matrice des états. La matrice des états est mise à jour par l'instruction HLTH au cours du mode Contrôle (l'entrée haute est active et l'entrée médiane est au repos). La longueur de la matrice des états peut varier entre 3 et 132 registres. Voici ci– dessous une description des mots de la matrice des états. Les informations du mot 1 sont contenues dans le registre affiché dans la partie médiane, et les informations des mots 2 à 131 sont stockées dans les registres implicites. Mot 1 Ce mot est un compteur des communications perdues au niveau de la station actuellement contrôlée. Utilisation du mot 1 : Bit Fonction 1-8 Donne le nombre de stations contrôlées (0 à 32). 9 - 16 Compte des incidents de communications perdues (0 à 15). Mot 2 Ce mot est un compteur totalisateur des nouvelles tentatives pour la station contrôlée actuellement (le numéro de station est indiqué dans l'octet de poids fort du mot 1). Utilisation du mot 2 : Bit Fonction 1-4 Inutilisé 5 - 16 Compteur totalisateur des nouvelles tentatives (de 0 à 255). Mot 3 Ce mot met à jour l'état de l'automate (y compris le fonctionnement de la redondance d'UC) à chaque cycle. 31007524 8/2010 615 HLTH : matrices des états et des historiques Utilisation du mot 3 : Bit Fonction 1 Etat actif = toutes les stations ne communiquent pas. 2 Inutilisé 3 Etat actif = le total de contrôle logique a changé depuis le dernier apprentissage. 4 Etat actif = au moins une entrée 1x désactivée a été détectée. 5 Etat actif = au moins une sortie 0x désactivée a été détectée. 6 Etat actif = validation du cycle constant. 7 - 10 Inutilisé 11 Etat actif = la protection mémoire est à l'état repos. 12 Etat actif = pile défectueuse. 13 Etat actif = un S911 est défectueux. 14 Etat actif = redondance d'UC au repos. 15 - 16 Inutilisé Mots 4 à 131 Ces mots indiquent l'état des stations 1 à 32, comme suit : Mot Numéro de station 4à7 1 8 à 11 2 12 à 15 3 : : : : 128 à 131 32 La structure des quatre mots affectés à chacune des stations est la suivante : Premier mot 616 Bit Fonction 1 Défaut de communication de la station détecté 2 Châssis 1, emplacement 1, défaut du module 3 Châssis 1, emplacement 2, défaut du module 4 Châssis 1, emplacement 3, défaut du module 31007524 8/2010 HLTH : matrices des états et des historiques Bit Fonction 5 Châssis 1, emplacement 4, défaut du module 6 Châssis 1, emplacement 5, défaut du module 7 Châssis 1, emplacement 6, défaut du module 8 Châssis 1, emplacement 7, défaut du module 9 Châssis 1, emplacement 8, défaut du module 10 Châssis 1, emplacement 9, défaut du module 11 Châssis 1, emplacement 10, défaut du module 12 Châssis 1, emplacement 11, défaut du module 13 Châssis 2, emplacement 1, défaut du module 14 Châssis 2, emplacement 2, défaut du module 15 Châssis 2, emplacement 3, défaut du module 16 Châssis 2, emplacement 4, défaut du module Deuxième mot 31007524 8/2010 Bit Fonction 1 Châssis 2, emplacement 5, défaut du module 2 Châssis 2, emplacement 6, défaut du module 3 Châssis 2, emplacement 7, défaut du module 4 Châssis 2, emplacement 8, défaut du module 5 Châssis 2, emplacement 9, défaut du module 6 Châssis 2, emplacement 10, défaut du module 7 Châssis 2, emplacement 11, défaut du module 8 Châssis 3, emplacement 1, défaut du module 9 Châssis 3, emplacement 2, défaut du module 10 Châssis 3, emplacement 3, défaut du module 11 Châssis 3, emplacement 4, défaut du module 12 Châssis 3, emplacement 5, défaut du module 13 Châssis 3, emplacement 6, défaut du module 14 Châssis 3, emplacement 7, défaut du module 15 Châssis 3, emplacement 8, défaut du module 16 Châssis 3, emplacement 9, défaut du module 617 HLTH : matrices des états et des historiques Troisième mot Bit Fonction 1 Châssis 3, emplacement 10, défaut du module 2 Châssis 3, emplacement 11, défaut du module 3 Châssis 4, emplacement 1, défaut du module 4 Châssis 4, emplacement 2, défaut du module 5 Châssis 4, emplacement 3, défaut du module 6 Châssis 4, emplacement 4, défaut du module 7 Châssis 4, emplacement 5, défaut du module 8 Châssis 4, emplacement 6, défaut du module 9 Châssis 4, emplacement 7, défaut du module 10 Châssis 4, emplacement 8, défaut du module 11 Châssis 4, emplacement 9, défaut du module 12 Châssis 4, emplacement 10, défaut du module 13 Châssis 4, emplacement 11, défaut du module 14 Châssis 5, emplacement 1, défaut du module 15 Châssis 5, emplacement 2, défaut du module 16 Châssis 5, emplacement 3, défaut du module Quatrième mot 618 Bit Fonction 1 Châssis 5, emplacement 4, défaut du module 2 Châssis 5, emplacement 5, défaut du module 3 Châssis 5, emplacement 6, défaut du module 4 Châssis 5, emplacement 7, défaut du module 5 Châssis 5, emplacement 8, défaut du module 6 Châssis 5, emplacement 9, défaut du module 7 Châssis 5, emplacement 10, défaut du module 8 Châssis 5, emplacement 11, défaut du module 9 Défaut du câble A 10 Défaut du câble B 11 à 16 Inutilisé 31007524 8/2010 HLTH : matrices des états et des historiques Description des paramètres de la partie basse (longueur) Longueur (partie basse) Le nombre décimal entré dans la partie basse dépend du nombre de stations d'E/S à contrôler. Chaque station nécessite quatre registres/matrice. La longueur est calculée à l'aide de la formule suivante : longueur = (nombre de stations RIO x 4) + 3 Cette valeur vous donne le nombre de registres de la matrice des états. Il vous suffit de saisir cette seule valeur comme longueur car la longueur de la matrice de l'historique est automatiquement incrémentée de 3 registres, c'est–à–dire que la longueur de la matrice de l'historique est égale à la longueur + 3. 31007524 8/2010 619 HLTH : matrices des états et des historiques 620 31007524 8/2010 HSBY : redondance d'UC 31007524 8/2010 HSBY : redondance d'UC 95 Introduction Ce chapitre décrit l'instruction HSBY. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Description sommaire 622 Représentation : HSBY - Redondance d'UC 623 Description des paramètres de la partie haute 625 Description des paramètres de la partie médiane : HSBY - Redondance d'UC 626 621 HSBY : redondance d'UC Description sommaire Description de la fonction L'instruction chargeable HSBY gère un système de régulation à redondance d'UC 984. Cette instruction doit être placée dans le réseau 1 du segment 1 de la logique d'application à la fois pour les automates principaux et les automates redondants. Elle permet de programmer une zone de non-transfert dans la mémoire d'état du système (zone dans laquelle un groupe de registres en série de l'automate redondant ne peut pas être modifié par l'automate primaire). L'instruction HSBY permet d'accéder à deux registres, un registre de commande et un registre d'état. Cet accès permet de surveiller et de contrôler les opérations de redondance d'UC. Le registre d'état est le troisième registre de la zone de nontransfert que vous indiquez. 622 31007524 8/2010 HSBY : redondance d'UC Représentation : HSBY - Redondance d'UC Symbole Représentation de l'instruction 31007524 8/2010 623 HSBY : redondance d'UC Description des paramètres Description des paramètres de l'instruction 624 Paramètres Référence de mémoire d'état Type de données Signification Entrée haute 0x, 1x Aucun Exécution de HSBY (sans condition) Activée = Fonction validée Entrée médiane 0x, 1x Aucun Validation du registre de commande Activée = Fonction validée Entrée basse 0x, 1x Aucun Validation de la zone de non-transfert Activée = Fonction validée registre de commande (partie haute) 4x INT, UINT Le registre 4xxxx mémorisé en partie haute est le registre de commande HSBY ; dans ce registre, huit bits peuvent être configurés et contrôlés à l'aide de votre logiciel de console. (Pour plus d'informations, reportez-vous à la section Configuration du registre, page 625.) 4x zone de nontransfert (partie médiane) INT, UINT Le registre 4xxxx mémorisé en partie médiane est le premier registre réservé à la zone de non-transfert de la mémoire d'état. Les trois premiers registres de la zone de non-transfert sont des registres spéciaux. (Pour plus d'informations, reportez-vous à la section Registres spéciaux de la zone de non-transfert, page 626 ou Registres spécifiques à une application, page 626.) longueur (partie basse) INT, UINT La valeur entière saisie en partie basse définit la longueur (le nombre de registres) de la zone de non-transfert HSBY en mémoire d'état. La longueur doit être d'au moins quatre registres ; elle peut varier de 4 à 255 registres dans une UC de 16 bits et de 4 à 8 000 dans une UC de 24 bits. Sortie haute 0x Aucun Système de redondance ACTIF Sortie médiane 0x Aucun L'automate ne peut pas communiquer avec son module HSBY 31007524 8/2010 HSBY : redondance d'UC Description des paramètres de la partie haute Configuration du registre Vous pouvez configurer les bits 6 à 8 et 12 à 16. Pour la configuration de ces bits, procédez comme indiqué ci-dessous : 31007524 8/2010 Bit Fonction 6 0 = basculer l'adresse du port 2 Modbus à la commutation 1 = ne pas basculer l'adresse du port 3 Modbus à la commutation 7 0 = basculer l'adresse du port 2 Modbus à la commutation 1 = ne pas basculer l'adresse du port 2 Modbus à la commutation 8 0 = basculer l'adresse du port 1 Modbus à la commutation 1 = ne pas basculer l'adresse du port q Modbus à la commutation 12 0 = autorisation mise à niveau exec après arrêt de l'application 1 = autorisation mise à niveau exec sans arrêter l'application 13 0 = forcer l'UC redondante hors ligne, au cas où une différence de logique apparaît 1 = ne pas forcer l'UC redondante hors ligne, au cas où une différence de logique apparaît 14 0 = l'automate B est en mode HORS LIGNE 1 = l'automate B est en mode RUN 15 0 = l'automate A est en mode HORS LIGNE 1 = l'automate A est en mode RUN 16 0 = invalider la priorité de l'interrupteur à clé 1 = valider la priorité de l'interrupteur à clé 625 HSBY : redondance d'UC Description des paramètres de la partie médiane : HSBY - Redondance d'UC Registres spéciaux de la zone de non-transfert Les trois premiers registres de la zone de non-transfert sont des registres spéciaux. Registre Contenu Affiché et premier implicite Ces deux registres sont des registres de transfert inverses ; ils permettent de transférer des données depuis l'automate redondant vers l'automate primaire. Deuxième implicite Registre d'état HSBY Registres spécifiques à une application Les bits 11 à 16 sont propres à une application. Le contenu des registres restants est propre à une application. La longueur est définie en partie basse. 626 Bit Fonction 11 0 = l'interrupteur de l'automate est réglé sur A 1 = l'interrupteur de l'automate est réglé sur B 12 0 = les automates ont une logique cohérente 1 = les automates n'ont pas de logique cohérente 13 14 0 1 = l'autre automate est en mode HORS LIGNE 1 0 = l'autre automate est en mode primaire 1 1 = l'autre automate est en mode redondance 15 16 0 1 = cet automate est en mode HORS LIGNE 1 0 = cet automate est en mode primaire 1 1 = cet automate est en mode redondance 31007524 8/2010 IBKR : lecture indirecte de bloc 31007524 8/2010 IBKR : lecture indirecte de bloc 96 Introduction Ce chapitre décrit l'instruction IBKR. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Description sommaire 628 Représentation : IBKR - Lecture indirecte de bloc 629 627 IBKR : lecture indirecte de bloc Description sommaire Description de la fonction L'instruction IBKR (lecture indirecte de bloc) vous permet d'accéder à des registres non successifs répartis dans votre application et de copier leur contenu dans un bloc cible de registres successifs. Cette instruction peut être utilisée dans des sous– programmes ou pour faciliter l'accès aux données par les ordinateurs pilotes ou d'autres automates. 628 31007524 8/2010 IBKR : lecture indirecte de bloc Représentation : IBKR - Lecture indirecte de bloc Symbole Représentation de l'instruction Description des paramètres Description des paramètres de l'instruction Paramètres Référence Type de de mémoire données d'état Signification Entrée haute 0x, 1x Aucun Activée = Déclenche l'opération de lecture indirecte table source (partie haute) 4x INT, UINT Premier registre de sortie d'une table source : contient des valeurs qui sont des pointeurs vers les registres non successifs à lire pendant l'opération. bloc cible (partie médiane) 4x INT, UINT Premier registre d'un bloc de registres cible successifs, c'est-à-dire le bloc vers lequel les données source seront copiées. INT, UINT Nombre de registres de la table source et du bloc cible, compris entre 1 et 255 longueur (1 à 255) (partie basse) 31007524 8/2010 Sortie haute 0x Aucun Donne une image de l'entrée haute Sortie basse 0x Aucun Activée = Erreur dans la table source 629 IBKR : lecture indirecte de bloc 630 31007524 8/2010 IBKW : écriture indirecte d'un bloc 31007524 8/2010 IBKW : écriture indirecte d'un bloc 97 Introduction Ce chapitre décrit l'instruction IBKW. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Description sommaire 632 Représentation 633 631 IBKW : écriture indirecte d'un bloc Description sommaire Description de la fonction L'instruction IBKW (écriture indirecte d'un bloc) vous permet de copier les données d'une table de registres successifs vers plusieurs registres non successifs répartis dans votre application. 632 31007524 8/2010 IBKW : écriture indirecte d'un bloc Représentation Symbole Représentation de l'instruction Description des paramètres Description des paramètres de l'instruction Paramètres Référence de mémoire d'état Entrée haute 0x, 1x Aucun Activée = Déclenche l'opération d'écriture indirecte bloc source 4x (partie haute) INT, UINT Premier d'un bloc de registres source : contient des valeurs qui seront copiées vers des registres non successifs répartis dans le programme logique 4x INT, UINT Premier d'un bloc de registres successifs de pointeurs cible. Chacun de ces registres contient une valeur pointant l'adresse d'un registre vers lequel les données source seront copiées. INT, UINT Nombre de registres du bloc source et du bloc du pointeur cible, compris entre 1 et 255 pointeurs cible (partie médiane) longueur (1 à 255) (partie basse) 31007524 8/2010 Type de Signification données Sortie haute 0x Aucun Donne une image de l'entrée haute Sortie basse 0x Aucun Activée = Erreur dans la table cible 633 IBKW : écriture indirecte d'un bloc 634 31007524 8/2010 ICMP : comparaison d'entrée 31007524 8/2010 ICMP : comparaison d'entrée 98 Introduction Ce chapitre décrit l'instruction ICMP. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Description sommaire 636 Représentation : ICMP : Comparaison d'entrée 637 Description des paramètres 639 Blocs DRUM/ICMP en cascade 641 635 ICMP : comparaison d'entrée Description sommaire Description de la fonction NOTE : Cette instruction n'est disponible que si vous avez décompacté et installé les instructions chargeables DX ; vous trouverez de plus amples informations dans le chapitre Installation des instructions chargeables DX, page 79. L'instruction ICMP (Comparaison d'entrée) offre un programme de vérification du bon déroulement de chaque étape traitée par une instruction DRUM. Les erreurs détectées par ICMP peuvent être utilisées pour déclencher la logique supplémentaire de correction d'erreurs ou pour arrêter le système. ICMP et DRUM sont synchronisées grâce à un registre commun de pointeur de pas. Lorsque le pointeur incrémente, ICMP se déplace dans sa table de données en pas synchronisé avec DRUM. Lorsque ICMP se déplace à chaque nouveau pas, elle compare, bit par bit, les données d'entrée du moment à l'état attendu de chaque point de sa table de données. 636 31007524 8/2010 ICMP : comparaison d'entrée Représentation : ICMP : Comparaison d'entrée Symbole Représentation de l'instruction 31007524 8/2010 637 ICMP : comparaison d'entrée Description des paramètres Description des paramètres d'instruction Paramètres Référence de Type de mémoire données d'état Signification Entrée haute 0x, 1x Aucun Etat actif = déclenche la comparaison d'entrée Entrée médiane 0x, 1x Aucun Entrée en cascade, informant le bloc que toutes les comparaisons ICMP précédentes étaient correctes, Etat actif = l'état de la comparaison franchit la sortie médiane Pointeur d'étape (partie haute) 4x INT, UINT Numéro de l'étape courante Table des données d'étape (partie médiane) 4x INT, UINT Premier registre dans la table d'information des données INT, UINT Nombre des registres spécifiques à l'application de la table des données d'étape, compris entre 1 et 999 Longueur (partie basse) 638 Sortie haute 0x Aucun Donne une image de l'état de l'entrée haute Sortie médiane 0x Aucun Etat actif = cette comparaison ainsi que toutes les ICMP en cascade précédentes sont correctes Sortie basse 0x Aucun Etat actif = erreur 31007524 8/2010 ICMP : comparaison d'entrée Description des paramètres Pointeur d'étape (partie haute) Le registre 4x saisi en partie haute mémorise le pointeur d'étape, c.–à–d. le nombre d'étapes courantes dans la table des données d'étape. Cette valeur est référencée par ICMP à chaque fois que l'instruction est exécutée. Elle doit être commandée de manière externe par une instruction DRUM ou par un autre programme utilisateur. Le même registre doit être utilisé dans la partie haute de toutes les instructions DRUM et ICMP exécutées comme séquenceur unique. Table des données d'étape (partie médiane) Le registre 4x mémorisé en partie médiane est le premier registre d'une table de données d'étape. Les huit premiers registres de la table contiennent des données constantes et variables nécessaires à l'exécution de l'instruction : 31007524 8/2010 Registre Nom Contenu Affiché Données brutes d'entrée Chargé par l'utilisateur à partir d'un groupe d'entrées séquentielles devant être utilisées par ICMP pour l'étape en cours Premier implicite Données actuelles de l'étape Chargé par ICMP à chaque exécution du bloc ; contient une copie des données du pointeur de pas ; provoque le calcul automatique par le programme des décalages de registre lors de l'accès aux données d'étape dans la table de données d'étape Deuxième implicite Masque d'entrée Chargé par l'utilisateur avant l'utilisation du bloc ; contient un masque à relier par ET logique avec les données brutes d'entrée, car les bits masqués ne seront pas comparés à chaque étape ; les données masquées sont placées dans le registre données d'entrée masquées Troisième implicite Données d'entrée masquées Chargé par ICMP à chaque exécution du bloc ; contient le résultat de l'instruction ET entre le masque d'entrée et les données brutes d'entrée Quatrième implicite Etat de comparaison Chargé par ICMP à chaque exécution du bloc ; contient le résultat du OU exclusif entre les données d'entrée masquées et les données de l'étape en cours ; les entrées non masquées n'étant pas dans un état logique correct provoquent la mise à 1 du bit du registre associé– les bits différents de zéro provoquent une comparaison non vérifiée et la sortie médiane ne passe pas à l'état actif 639 ICMP : comparaison d'entrée Registre Nom Contenu Cinquième implicite Identificateur machine Identifie les blocs DRUM/ICMP relatifs à une certaine configuration machine ; plage des valeurs : 0à 9999 (0 = bloc non configuré) ; tous les blocs relatifs à la même configuration machine ont le même ID de machine. Sixième implicite Numéro de profil Identifie les données de profil actuellement chargées dans le séquenceur ; plage de valeur : de 0 à 9999 (0 = bloc non configuré) ; tous les blocs ayant le même identificateur machine doivent avoir le même numéro de profil Septième implicite Etapes utilisées Chargé par l'utilisateur avant l'utilisation du bloc, DRUM ne modifiera pas le contenu des étapes utilisées pendant l'exécution du programme : valeur entre 1 et 999 pour les UC 24 bits, donnant le nombre actuel d'étapes à exécuter ; le nombre doit être inférieur ou égal à la longueur de la table précisée en partie basse du bloc ICMP Les registres restants contiennent les données de chaque étape de la séquence. Longueur (partie basse) Le nombre entier mémorisé en partie basse correspond à la longueur, c'est-à-dire au nombre de registres spécifiques à l'application utilisée dans la table de données d'étape. La longueur peut varier entre 1 et 999 dans une UC 24 bits. Le nombre total de registres nécessaires dans la table de données d'étape est égal à la longueur + 8. La longueur doit être > la valeur placée dans le registre des étapes utilisées dans la partie médiane. 640 31007524 8/2010 ICMP : comparaison d'entrée Blocs DRUM/ICMP en cascade Blocs DRUM/ICMP en cascade Une série de blocs DRUM et/ou ICMP peut être mise en cascade pour simuler un tambour mécanique d'une largeur allant jusqu'à 512 bits. La programmation de la même référence de registre 4x dans la partie haute de chaque bloc correspondant les fait se mettre en cascade et suivre les pas comme une unité groupée sans nécessiter de logique d'application supplémentaire. Tous les blocs DRUM/ICMP ayant la même référence registre en partie haute sont automatiquement synchronisés. Ils doivent également adopter la même valeur constante en partie basse, ainsi que dans le registre des pas utilisés de la partie médiane. 31007524 8/2010 641 ICMP : comparaison d'entrée 642 31007524 8/2010 ID : interruption désactivée 31007524 8/2010 ID : interruption désactivée 99 Introduction Ce chapitre décrit l'instruction ID. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 644 Représentation 645 Description des paramètres 646 643 ID : interruption désactivée Description sommaire Description de la fonction Trois instructions de masquage/démasquage des interruptions permettent de protéger des données à la fois dans la logique normale de schéma à contacts (ordonnancée) et dans la logique du sous-programme de gestion des interruptions (non ordonnancée). Il s'agit des instructions Interruption désactivée (ID), Interruption activée (IE) et Copie de bloc avec interruptions désactivées (BMDI). L'instruction ID masque les interruptions générées par temporisation et/ou par les E/S locales. Une interruption exécutée dans la trame temporelle après l'exécution d'une instruction ID et avant l'exécution de la prochaine instruction IE est mise en mémoire tampon. L'exécution d'une interruption mise en mémoire tampon se réalise au moment de l'exécution de l'instruction IE. Si au moins deux interruptions de même type se produisent entre l'exécution ID et IE, le bit d'erreur de dépassement d'interruption masquée est activé et le sous-programme lancé par l'interruption n'est exécuté qu'une seule fois. 644 31007524 8/2010 ID : interruption désactivée Représentation Symbole Représentation de l'instruction Description des paramètres Description des paramètres de l'instruction Paramètres Référence de Type de mémoire données d'état Signification Entrée haute 0x, 1x Aucun Activée = L'instruction masque les interruptions générées par la temporisation et/ou par les E/S locales INT, UINT Type de l'interruption à masquer (entier constante) Pour plus d'informations, reportez-vous à la section Type (partie basse), page 646. Aucun Donne une image de l'état de l'entrée haute Type (partie basse) Sortie haute 31007524 8/2010 0x 645 ID : interruption désactivée Description des paramètres Type (partie basse) Saisissez un entier constant compris entre 1 et 3 dans cette partie. La valeur représente le type d'interruption à masquer par l'instruction ID, où : 646 Valeur d'entier Type d'interruption 3 Interruption de temporisation masquée 2 Interruption de module d'E/S local masquée 1 Les deux types d'interruption sont masqués 31007524 8/2010 IE : interruption activée 31007524 8/2010 IE : interruption activée 100 Introduction Ce chapitre décrit l'instruction IE. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 648 Représentation 649 Description des paramètres 650 647 IE : interruption activée Description sommaire Description de la fonction Trois instructions de masquage/démasquage des interruptions permettent de protéger des données à la fois dans la logique normale de schéma à contacts (ordonnancée) et dans la logique du sous-programme de gestion des interruptions (non ordonnancée). Il s'agit des instructions Interruption désactivée (ID), Interruption activée (IE) et Copie de bloc avec interruptions désactivées (BMDI). L'instruction IE démasque les interruptions de la temporisation ou du module d'E/S local et répond aux interruptions en attente en exécutant les sous-programmes indiqués. Une interruption exécutée dans la trame temporelle après l'exécution d'une instruction ID et avant l'exécution de la prochaine instruction IE est mise en mémoire tampon. L'exécution d'une interruption mise en mémoire tampon se réalise au moment de l'exécution de l'instruction IE. Si au moins deux interruptions de même type se produisent entre l'exécution ID et IE, le bit d'erreur de dépassement d'interruption masquée est activé et le sous-programme lancé par l'interruption n'est exécuté qu'une seule fois. 648 31007524 8/2010 IE : interruption activée Représentation Symbole Représentation de l'instruction Description des paramètres Description des paramètres de l'instruction Paramètres Référence de Type de mémoire données d'état Signification Entrée haute 0x, 1x Aucun Activée = L'instruction démasque les interruptions et répond aux interruptions en cours INT, UINT Type de l'interruption à démasquer (entier constant) Pour plus d'informations, reportez-vous à la section Type (partie basse), page 650. Aucun Donne une image de l'état de l'entrée haute Type partie basse Sortie haute 31007524 8/2010 0x 649 IE : interruption activée Description des paramètres Entrée haute Lorsque l'entrée est mise sous tension, l'instruction IE démasque les interruptions de la temporisation ou du module d'E/S local et répond aux interruptions en attente en exécutant les sous-programmes indiqués. Type (partie basse) Saisissez un entier constant compris entre 1 et 3 dans cette partie. La valeur représente le type d'interruption à démasquer par l'instruction IE, où : 650 Valeur d'entier Type d'interruption 3 Interruption de la temporisation démasquée 2 Interruption du module d'E/S local démasquée 1 Les deux types d'interruption démasqués 31007524 8/2010 IMIO : E/S immédiate 31007524 8/2010 IMIO : E/S immédiate 101 Introduction Ce chapitre décrit l'instruction IMIO. NOTE : Cette instruction n'est disponible qu'après avoir configuré une UC sans extension. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Description sommaire 652 Représentation 653 Description des paramètres 655 Gestion des erreurs d'exécution : IMIO - E/S directe 657 651 IMIO : E/S immédiate Description sommaire Description de la fonction L'instruction IMIO permet l'accès aux modules d'E/S spécifiés depuis le schéma à contacts. Cela diffère du traitement normal des E/S où les entrées sont lues au début de l'exécution logique du segment dans lequel elles sont utilisées et les sorties sont mises à jour à la fin de l'exécution du segment. Les modules d'E/S en cours d'accès doivent se trouver dans l'embase locale avec l'automate Quantum. Pour utiliser les instructions IMIO, il faut que les modules d'E/S locaux, dont l'accès est nécessaire, soient indiqués dans l'affectation des E/S de votre logiciel de console. 652 31007524 8/2010 IMIO : E/S immédiate Représentation Symbole Représentation de l'instruction NOTE : Ce bloc IMIO ne fonctionne pas avec les modules d'E/S Compact suivants en raison des contraintes imposées par la conception matérielle inhérentes à ces modules. z z z z 31007524 8/2010 AS-BADU-204 AS-BADU-205 AS-BADU-206 AS-BADU-216 653 IMIO : E/S immédiate Description des paramètres Description des paramètres de l'instruction 654 Paramètres Référence de Type de mémoire données d'état Entrée haute 0x, 1x Signification Aucun Activée = Autorise l'accès E/S directe bloc de contrôle 4x partie haute INT, UINT, WORD Bloc de contrôle (le premier de deux registres successifs) Pour plus d'informations, reportez-vous à la section Erreurs d'exécution, page 657. type partie basse INT, UINT Type d'opération (entier constant compris entre 1 et 3) Cette fonction permet d'effectuer les opérations suivantes : z 1 - Opération d'entrée : transfert des données depuis le module vers la mémoire d'état z 2 - Opération de sortie : transfert des données depuis la mémoire d'état vers le module z 3 - Opération bidirectionnelle ou opération d'E/S : autorise à la fois les entrées et les sorties pour les modules bidirectionnels Sortie haute 0x Aucun Donne une image de l'état de l'entrée haute Sortie basse 0x Aucun Erreur (indiquée par un code dans le registre d'état d'erreur du bloc de contrôle IMIO) 31007524 8/2010 IMIO : E/S immédiate Description des paramètres Bloc de contrôle (partie haute) Le premier des deux registres 4x successifs est mémorisé en partie haute. Le deuxième registre est implicite. Registre Contenu Affiché Ce registre indique l'adresse physique du module d'E/S auquel il faut accéder. Premier implicite Ce registre consigne l'état d'erreur conservé par l'instruction. Adresse physique du module E/S L'octet de poids fort du registre affiché dans le bloc de contrôle vous permet d'indiquer dans quel châssis se trouve le module d'E/S auquel vous devez accéder ; l'octet de poids faible vous permet d'indiquer le numéro d'emplacement du châssis où se trouve le module d'E/S. Utilisation du mot : Bit Fonction 1-5 Non utilisé Châssis 1 uniquement pour Quantum Les châssis locaux 1 à 4 peuvent être utilisés pour les Compact 32 bits 6-8 Numéro de châssis 1 à 4 (seul le châssis 1 est actuellement géré) 9 - 11 Non utilisé 12 - 16 Numéro d'emplacement Numéro de châssis Numéro de bit Numéro de châssis 31007524 8/2010 6 7 8 0 0 1 châssis 1 Châssis 1 uniquement pour Quantum Les châssis 1 à 4 peuvent être utilisés pour les Compact 32 bits 0 1 0 châssis 2 Les châssis 1 à 4 peuvent être utilisés pour les Compact 32 bits 655 IMIO : E/S immédiate Numéro de bit Numéro de châssis 6 7 8 0 1 1 châssis 3 Les châssis 1 à 4 peuvent être utilisés pour les Compact 32 bits 1 0 0 châssis 4 Les châssis 1 à 4 peuvent être utilisés pour les Compact 32 bits Numéro d'emplacement Numéro de bit Numéro d'emplacement 12 13 14 15 16 0 0 0 0 1 emplacement 1 0 0 0 1 0 emplacement 2 0 0 0 1 1 emplacement 3 0 0 1 0 0 emplacement 4 0 0 1 0 1 emplacement 5 0 0 1 1 0 emplacement 6 0 0 1 1 1 emplacement 7 0 1 0 0 0 emplacement 8 0 1 0 0 1 emplacement 9 0 1 0 1 0 emplacement 10 0 1 0 1 1 emplacement 11 0 1 1 0 0 emplacement 12 0 1 1 0 1 emplacement 13 0 1 1 1 0 emplacement 14 0 1 1 1 1 emplacement 15 1 0 0 0 0 emplacement 16 Type (partie basse) Saisissez un entier constant compris entre 1 et 3 dans la partie basse. La valeur indique le type d'opération à exécuter par l'instruction IMIO, où : 656 Valeur d'entier Type d'accès direct 1 Opération d'entrée : transfère les données depuis le module indiqué vers la mémoire d'état 2 Opération de sortie : transfère les données depuis la mémoire d'état vers le module indiqué 3 Opération d'E/S : prend en charge les entrées et les sorties si le module indiqué est bidirectionnel 31007524 8/2010 IMIO : E/S immédiate Gestion des erreurs d'exécution : IMIO - E/S directe Erreurs d'exécution Le registre implicite du bloc contrôle renfermera le code d'erreur suivant lorsque l'instruction détectera une erreur : 31007524 8/2010 Code d'erreur Signification 2001 Type invalide indiqué dans la partie basse 2002 Problème concernant l'emplacement d'E/S indiqué ; soit un numéro d'emplacement invalide a été entré dans le registre affiché du bloc contrôle, soit l'affectation des E/S ne contient pas la définition correcte du module pour cet emplacement 2003 Une opération de type 3 est indiquée dans la partie basse et le module n'est pas bidirectionnel F001 Le module d'E/S indiqué ne fonctionne pas correctement 657 IMIO : E/S immédiate 658 31007524 8/2010 IMOD : instruction du module d'interruption 31007524 8/2010 IMOD : instruction du module d'interruption 102 Introduction Ce chapitre décrit l'instruction IMOD. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 660 Représentation 661 Description des paramètres 663 659 IMOD : instruction du module d'interruption Description sommaire Description de la fonction L'instruction IMOD lance un sous-programme du gestionnaire d'interruption en schéma à contacts lorsque l'interruption appropriée est générée par un module d'interruption local et qu'elle est reçue par l'automate. Chaque instruction IMOD d'une application est configurée de manière à correspondre à un emplacement particulier de l'embase locale où le module d'interruption réside. L'instruction IMOD peut désigner le même sous-programme du gestionnaire d'interruption ou un sousprogramme distinct pour chaque point d'interruption du module d'interruption associé. 660 31007524 8/2010 IMOD : instruction du module d'interruption Représentation Symbole Représentation de l'instruction 31007524 8/2010 661 IMOD : instruction du module d'interruption Description des paramètres Description des paramètres de l'instruction Paramètres Référence de Type de mémoire données d'état Signification Entrée haute 0x, 1x Aucun Activée = Déclenche une interruption Entrée basse 0x, 1x Aucun Activée = Efface une erreur précédemment détectée numéro d'emplacement (partie haute) INT, UINT Indique le numéro d'emplacement où réside le module d'interruption local (entier constant compris entre 1 et 16) bloc de contrôle 4x (partie médiane) INT, UINT, WORD Bloc de contrôle (le premier de 19 registres successifs max., en fonction du nombre d'interruptions) La partie médiane contient le premier registre 4x du bloc de contrôle IMOD. Le bloc de contrôle contient les paramètres nécessaires à la programmation d'une instruction IMOD. La taille (nombre de registres) du bloc de contrôle sera égale au nombre total des points d'interruption programmés + 3. Les trois premiers registres du bloc de contrôle contiennent des informations d'état. Les registres restants vous permettent d'indiquer le numéro d'étiquette (LAB) du sous-programme du gestionnaire d'interruption. Celui-ci se trouve dans le dernier segment (non ordonnancé) du programme en schéma à contacts. Pour plus d'informations, reportez-vous à la section Bloc de contrôle (partie médiane), page 664. nombre d'interruptions (partie basse) INT, UINT Indique le nombre d'interruptions susceptibles d'être générées depuis le module d'interruption associé (entier constant compris entre 1 et 16) La partie basse contient un entier indiquant le nombre d'interruptions qui peuvent être générées à partir du module d'interruption associé. La taille (nombre de registres) du bloc de contrôle représente le nombre d'interruptions + 3. L'automate peut être configuré pour un maximum de 64 interruptions de module (parmi tous les modules d'interruption résidant dans l'embase locale). Si le nombre saisi dans la partie basse d'une instruction IMOD génère un nombre total d'interruptions de module au niveau système supérieur à 64, une erreur est consignée dans le bit 7 du premier registre du bloc de contrôle. Par exemple, si vous utilisez quatre modules d'interruption dans l'embase locale et que vous affectez 16 interruptions à chacun de ces modules (en saisissant 16 en partie basse de chaque instruction IMOD associée), l'automate ne sera pas en mesure de gérer toute autre interruption du module. Si vous essayez de créer une cinquième instruction IMOD, une erreur sera consignée dans ce bloc de contrôle d'IMOD lorsque vous définissez une valeur en partie basse. Sortie haute 0x Aucun Donne une image de l'état de l'entrée haute Sortie basse 0x Aucun Activée = Erreur détectée. La source de l'erreur peut venir de n'importe quel point d'interruption activé du module d'interruption. 662 31007524 8/2010 IMOD : instruction du module d'interruption Description des paramètres Informations générales sur IMOD Il est possible de programmer jusqu'à 14 instructions IMOD dans une application en schéma à contacts, une pour chaque emplacement d'option possible dans une embase locale. Chaque point d'interruption de chaque module d'interruption peut déclencher un sous-programme du gestionnaire d'interruption différent. Un maximum de 64 points d'interruption peut être défini dans une application logique utilisateur. Il n'est pas nécessaire que tous les points d'entrée possibles d'un module d'interruption local soient définis dans l'instruction IMOD comme des interruptions. Activation de l'instruction (entrée haute) Lorsque l'entrée de la partie haute est mise sous tension, l'instruction IMOD est activée. L'automate répond aux interruptions générées par le module d'interruption local au numéro d'emplacement désigné. Si l'entrée haute n'est pas mise sous tension, les interruptions du module à l'emplacement désigné sont désactivées et toutes les erreurs précédemment détectées sont effacées, y compris toute interruption masquée en attente. Effacement des erreurs (entrée basse) Cette entrée efface les erreurs précédentes. Numéro d'emplacement (partie haute) La partie haute contient une valeur décimale dans la plage 1 à 16, indiquant le numéro d'emplacement du module d'interruption local. Ce numéro permet d'indexer dans un tableau de commande les structures utilisées pour mettre en œuvre l'instruction. NOTE : Le numéro d'emplacement d'une seule instruction IMOD doit être unique par rapport aux numéros d'emplacement utilisés dans toutes les autres instructions IMOD d'une application. Dans le cas contraire, la prochaine instruction IMOD avec ce numéro d'emplacement particulier présentera une erreur. NOTE : Les numéros d'emplacement où résident l'automate et l'alimentation sont des entrées non valides, c'est-à-dire qu'un maximum de 14 emplacements sur les 16 possibles peuvent permettre d'accueillir un module d'interruption. Si le numéro d'emplacement de l'instruction IMOD est le même que celui de l'automate, celle-ci comportera une erreur. 31007524 8/2010 663 IMOD : instruction du module d'interruption Bloc de contrôle (partie médiane) La partie médiane contient le premier registre 4x du bloc de contrôle IMOD. Le bloc de contrôle contient les paramètres nécessaires à la programmation d'une instruction IMOD. La taille (nombre de registres) du bloc de contrôle sera égale au nombre total des points d'interruption programmés + 3. Les trois premiers registres du bloc de contrôle contiennent des informations d'état et les registres restants vous permettent de définir le numéro d'étiquette (LAB) du sous-programme du gestionnaire d'interruption qui se trouve dans le dernier segment (non ordonnancé) du programme en schéma à contacts. Bloc de contrôle pour IMOD Registre Contenu Affiché Bits d'état de la fonction Premier implicite Etat des entrées 1 à 16 du module d'interruption au moment de l'interruption Deuxième implicite Etat des entrées 17 à 32 du module d'interruption au moment de l'interruption (données non valides pour un module d'interruption 16 bits) Troisième implicite Numéro LAB et état du premier point d'interruption programmé sur le module d'interruption ... ... Dernier implicite Numéro LAB et état du dernier point d'interruption programmé sur le module d'interruption Bits d'état de fonction Bits d'état de la fonction Bit 664 Fonction 1-2 Non utilisé 3 Erreur : emplacement de l'automate Le numéro d'emplacement donné dans la partie haute de l'instruction IMOD correspond au numéro d'emplacement de l'UC. 4 Erreur : interruption perdue en raison d'une erreur de communication dans l'embase A la lecture du module d'interruption, une erreur de calcul s'est produite et les données sont non valides. Etant donné que les points d'interruption sont effacés à la lecture, les interruptions sont perdues. 31007524 8/2010 IMOD : instruction du module d'interruption Bit Fonction 5 Module non opérationnel ou absent de l'affectation des E/S Le module d'E/S présent à l'emplacement indiqué dans la partie haute n'est pas opérationnel (à savoir, inactif ou absent) ou un module n'a pas été indiqué dans l'affectation des E/S. 6 Erreur : interruption perdue en raison de l'édition en ligne Lorsque l'opérateur a édité le schéma à contacts (ceci inclut la demande d'affichage des signaux d'un réseau différent, c'est-à-dire la page précédente ou la page suivante), au moins deux interruptions pour le même point se sont produites. Une seule est prise en charge. 7 Erreur : nombre maximum d'interruptions dépassé Plus de 64 interruptions ont été indiquées dans le schéma à contacts et cette instruction "IMOD" est à l'origine du dépassement de la valeur 64. 8 Erreur : numéro d'emplacement utilisé dans le réseau précédent (ATTENTION, reportez-vous à la section Perte d'interruptions, page 665) Le numéro d'emplacement de la partie haute est utilisé dans un autre bloc "IMOD" du schéma à contacts. Le premier bloc est actif, mais est ignoré. 9 - 15 Non utilisé 16 0 = IMOD désactivée 1 = IMOD activée Ce bit reflète l'état de l'alimentation de la partie haute. Perte d'interruptions ATTENTION PERTE D'INTERRUPTIONS : INSTRUCTION IMOD EN COURS Une erreur apparaît dans le bit 8 lorsque deux instructions IMOD sont affectées au même numéro d'emplacement. Dans ce cas, il est possible de perdre des interruptions de l'instruction IMOD en cours d'exécution sans en être informé si le numéro défini dans la partie basse des deux instructions est différent. Le non-respect de ces instructions peut provoquer des blessures ou des dommages matériels. 31007524 8/2010 665 IMOD : instruction du module d'interruption Bits d'état et numéro LAB de chaque point d'interruption Les bits 1 à 5 du troisième au dernier registre implicites sont les bits d'état de chaque point d'interruption. Les bits 7 à 16 sont utilisés pour spécifier le numéro LAB pour le sous-programme du gestionnaire d'interruption. Le numéro LAB est une valeur décimale comprise entre 1 et 1 023. Bits d'état de la fonction Bit Fonction Etat du point d'interruption 1 Exécution retardée car les interruptions sont masquées Il ne s'agit pas d'une erreur, mais d'une indication précisant que les interruptions sont désactivées et qu'au moins une interruption pour ce point s'est produite et sera prise en charge lorsque les interruptions seront activées. 2 Erreur : bloc non valide dans le sous-programme du gestionnaire d'interruption Un bloc DX non valide a été utilisé dans le sous-programme du gestionnaire d'interruption pour ce point d'entrée (pour plus d'informations, reportez-vous à la section Instructions ne pouvant pas être utilisées dans un gestionnaire d'interruption). 3 Erreur : dépassement d'interruption masquée Deux interruptions minimum se sont produites pour ce point alors que l'interruption était désactivée : utilisation du bloc Interruption désactivée (ID) sans le bloc Interruption activée (IE) ou lors de l'édition en ligne. 4 Erreur : dépassement d'exécution Une deuxième interruption (ou plus) s'est produite alors que le sous-programme du gestionnaire d'interruption était toujours en cours d'exécution. 5 Erreur : numéro LAB non valide Numéro LAB indiqué sur les bits 7 à 16, zéro ou numéro LAB non utilisé dans le dernier segment de la logique utilisateur. Cette erreur s'efface automatiquement. 6 non utilisé Numéro LAB 7 - 16 Numéro LAB du gestionnaire d'interruption associé Valeur comprise entre 1 et 1 023 Chaque fois que l'entrée de la partie basse de l'instruction IMOD est activée, les bits d'état (bits 1 à 5) sont effacés. Si un numéro LAB est indiqué (sur les bits 7 à 16) sous la forme d'un zéro ou d'un numéro non valide, toutes les interruptions générées à partir de ce point sont ignorées par l'automate. 666 31007524 8/2010 IMOD : instruction du module d'interruption Nombre d'interruptions (partie basse) La partie basse contient un entier indiquant le nombre d'interruptions qui peuvent être générées à partir du module d'interruption associé. La taille (nombre de registres) du bloc de contrôle est ce nombre + 3. L'automate peut être configuré pour un maximum de 64 interruptions de module (parmi tous les modules d'interruption résidant dans l'embase locale). Si le nombre saisi dans la partie basse d'une instruction IMOD génère un nombre total d'interruptions de module au niveau système supérieur à 64, une erreur est consignée dans le bit 7 du premier registre du bloc de contrôle. Par exemple, si vous utilisez quatre modules d'interruption dans l'embase locale et que vous affectez 16 interruptions à chacun de ces modules (en saisissant 16 dans la partie basse de chaque instruction IMOD associée), l'automate ne sera pas en mesure de gérer davantage d'interruptions du module. Si vous essayez de créer une cinquième instruction IMOD, une erreur sera consignée dans le bloc de contrôle de cette instruction IMOD lorsque vous définirez une valeur dans la partie basse. 31007524 8/2010 667 IMOD : instruction du module d'interruption 668 31007524 8/2010 INDX 31007524 8/2010 INDX : déplacement incrémental immédiat 103 Introduction Ce chapitre décrit l'instruction INDX. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Description sommaire 670 Description des paramètres 671 669 INDX Description sommaire Description de la fonction Le bloc fonction INDX effectue un déplacement incrémental immédiat MMFStart sur l'axe spécifié. La vitesse et la valeur de l'incrément sont spécifiés dans la table correspondante. 670 31007524 8/2010 INDX Description des paramètres Symbole Le diagramme suivant représente la fonction INDX : Description des paramètres Le tableau suivant décrit les paramètres de l'instruction : 31007524 8/2010 Paramètres Référence Type de de mémoire données d'état Signification Entrée haute 0x Aucun L'état actif déclenche la fonction de déplacement. Lorsque cette entrée est désactivée, la fonction est réinitialisée et peut être de nouveau exécutée. Partie haute 4x INT, UINT Adresse de la table de communication du registre MMFSTART 200. Elle correspond normalement à 401001. Cette adresse peut être configurée en modifiant le fichier MMFSTART.CFG sur le contrôleur QUANTUM SERCOS. Partie médiane 4x INT, UINT Ce registre pointe vers un bloc de registres définissant tous les arguments de la fonction de déplacement. Les deux derniers registres servent au contrôle d'état. 671 INDX Paramètres Référence Type de de mémoire données d'état Signification Partie basse 4x INT L'entier saisi dans la partie basse indique la longueur de la table. Dans le cas présent, le nombre de registres de la table doit être égal à 8. Sortie haute 0x Aucun Activée lorsque le démarrage du déplacement a été réalisé sans erreur. Sortie médiane 0x Aucun Activée lorsque le démarrage du déplacement n'a pas été réalisé et qu'un code d'erreur est généré dans le registre 4xxxx5. Sortie basse Aucun Activée lorsque la longueur du registre n'est pas égale à 8, la révision MMFSTART est incorrecte ou le temps imparti pour la fonction a été dépassé. 0x Registres Le tableau suivant présente les registres de l'instruction : 672 Registre Type de données Description 4xxxxx Entier court ID de l'axe du déplacement incrémental 4xxxx1 Nb à virgule flottante Longueur du déplacement incrémental 4xxxx3 Nb à virgule flottante Vitesse du déplacement incrémental 4xxxx5 Entier court Code d'erreur généré lors d'une tentative de démarrage de déplacement 4xxxx6 Entier court Numéro de l'état de fonctionnement courant 4xxxx7 Entier court Nombre d'entrées d'état actuel 31007524 8/2010 ITMR : générateur d'intervalle de temps 31007524 8/2010 ITMR : générateur d'intervalle de temps 104 Introduction Ce chapitre décrit l'instruction ITMR. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 674 Représentation 675 Description des paramètres 677 673 ITMR : générateur d'intervalle de temps Description sommaire Description de la fonction L'instruction ITRM vous permet de définir une temporisation d'intervalle générant des interruptions dans le cycle du schéma à contacts normal et déclenchant l'exécution d'un sous–programme de gestion des interruptions. Le gestionnaire d'interruption configuré par l'utilisateur est un sous-programme en schéma à contacts créé dans le dernier segment non ordonnancé du schéma à contacts, dont le premier réseau est repéré par une instruction LAB. L'exécution du sousprogramme n'est pas synchrone avec le cycle normal. Il est possible de programmer jusqu'à 16 instructions ITMR par application. Chaque temporisation d'intervalle peut être programmée pour lancer les mêmes sousprogrammes de gestionnaire d'interruption ou des sous-programmes différents, contrôlés par la méthode JSR/LAB décrite au chapitre Général. Chaque instance de la temporisation d'intervalle est retardée d'un intervalle programmé lorsque l'automate est en cours d'exécution et génère une interruption du processeur lorsque l'intervalle est écoulé. Une temporisation d'intervalle peut exécuter à tout moment un cycle logique normal comprenant les opérations de service ou de mise à jour des E/S du système. La résolution de chaque temporisation d'intervalle est de 1 ms. Un intervalle peut être programmé en unités de 1 ms, 10 ms, 100 ms ou 1 s. Un compteur interne s'incrémente en fonction de la résolution indiquée. Gardez à l'esprit que si le temps ITMR est inférieur à la tranche horaire d'édition L/L, l'affichage du flux des signaux et la modification de la logique utilisateur ne seront pas autorisés. 674 31007524 8/2010 ITMR : générateur d'intervalle de temps Représentation Symbole Représentation de l'instruction Description des paramètres Description des paramètres de l'instruction 31007524 8/2010 Paramètres Type de Signification Référence de mémoire données d'état Entrée haute 0x, 1x Aucun Activée = Valide l'instruction Pour plus d'informations, reportez-vous à la section Entrée haute. 675 ITMR : générateur d'intervalle de temps Paramètres 676 Référence Type de Signification de mémoire données d'état bloc de contrôle 4x (partie haute) INT, UINT, WORD Bloc de contrôle (le premier de trois registres successifs) La partie haute contient le premier de trois registres 4xxxx successifs du bloc de contrôle ITMR. Ces registres sont utilisés pour indiquer les paramètres nécessaires à la programmation de chaque instruction ITMR. Les 8 bits de poids faible du premier registre (affiché) du bloc de contrôle vous permettent d'indiquer les paramètres de contrôle de la fonction, et les 8 bits de poids fort sont utilisés pour afficher l'état de la fonction. Dans le deuxième registre du bloc de contrôle, indiquez une valeur représentant l'intervalle de temps au cours duquel l'instruction ITRM génèrera les interruptions et déclenchera l'exécution du gestionnaire d'interruption. L'intervalle de temps sera incrémenté des unités indiquées par les bits 12 et 13 du premier registre du bloc de contrôle, c'est-à-dire des unités 1 ms, 10 ms, 100 ms ou 1 s. Dans le troisième registre du bloc de contrôle, indiquez une valeur désignant le numéro d'étiquette (LAB) qui lancera le sous-programme de gestion d'interruption. La valeur doit être comprise entre 1 et 1023. Remarque : Nous recommandons de minimiser la taille du sous-programme de la logique associé au LAB de sorte que l'application ne soit pas commandée par interruption. (Pour plus d'informations, reportez-vous à la section Bloc de contrôle (partie haute), page 677.) numéro de temporisation (partie basse) INT, UINT Numéro de temporisation affecté à cette instruction ITMR (doit être unique par rapport à toutes les autres instructions ITMR de l'application), compris entre 1 et 16 Sortie haute 0x Aucun Donne une image de l'état de l'entrée haute Sortie basse 0x Aucun Erreur (la source de l'erreur peut se trouver dans les paramètres programmés ou être une erreur d'exécution) 31007524 8/2010 ITMR : générateur d'intervalle de temps Description des paramètres Entrée haute Lorsque l'entrée haute est mise sous tension, l'instruction ITRM est activée. Elle commence le comptage de l'intervalle de temps programmé. Lorsque cet intervalle de temps est écoulé, le compteur est remis à zéro et la logique du gestionnaire d'erreurs désigné s'exécute. Lorsque l'entrée haute n'est pas sous tension, les événements suivants se produisent : z toutes les erreurs indiquées sont effacées ; z la temporisation est arrêtée ; z le compteur horaire est soit remis à zéro, soit maintenu, en fonction de l'état du bit 15 du premier registre du bloc contrôle (registre affiché dans la partie haute) ; z toutes les interruptions masquées en attente sont effacées pour cette temporisation. Bloc de contrôle (partie haute) La partie haute contient le premier de trois registres 4x successifs du bloc contrôle ITMR. Ces registres sont utilisés pour indiquer les paramètres nécessaires à la programmation de chaque instruction ITMR. Bloc contrôle pour ITMR Registre Contenu Affiché Bits d'état de la fonction et de la commande de fonction Premier implicite Dans ce registre, indiquez une valeur représentant l'intervalle de temps au cours duquel l'instruction ITRM génèrera les interruptions et lancera l'exécution du gestionnaire d'interruption. L'intervalle sera incrémenté des unités indiquées par les bits 12 et 13 du premier registre du bloc contrôle, c'est-à-dire 1 ms, 10 ms, 100 ms ou 1 s. Deuxième implicite Dans ce registre, indiquez une valeur désignant le numéro d'étiquette (LAB) qui lancera le sous-programme du gestionnaire d'interruption. Le numéro doit être compris entre 1 et 1023. NOTE : Nous recommandons de minimiser la taille du sous-programme de la logique associé au LAB de sorte que l'application ne soit pas commandée par interruption. 31007524 8/2010 677 ITMR : générateur d'intervalle de temps Bits d'état de la fonction et de la commande de la fonction Les 8 bits de poids faible du registre affiché dans le bloc contrôle vous permettent d'indiquer les paramètres de commande de la fonction et les 8 bits de poids fort sont utilisés pour afficher l'état de la fonction : Bit Fonction Etat de la fonction 1 Exécution retardée du fait du masque d'interruption. 2 Bloc non valide dans le sous-programme du gestionnaire d'interruption 3 Non utilisé 4 Durée = 0 5 Dépassement d'interruption de masque. 6 Dépassement d'exécution. 7 Pas de LAB ou LAB non valide. 8 Numéro de temporisation utilisé dans le réseau précédent. Commande de fonction 9 - 11 Non utilisé 12 - 13 0 0 = base temps de 1 ms 0 1 = base temps de 10 ms 1 0 = base temps de 100 ms 1 1 = base temps de 1 s 14 1 = l'arrêt de l'automate bloque le compteur. 0 = l'arrêt de l'automate initialise le compteur. 15 1 = l'état désactivé arrête le compteur. 0 = l'état désactivé initialise le compteur. 16 1 = instruction activée 0 = instruction désactivée Numéro de temporisation (partie basse) Il est possible de programmer jusqu'à 16 instructions ITMR par application. Les interruptions se distinguent les unes par rapport aux autres via un numéro unique compris entre 1et 16, que vous affectez à chaque instruction de la partie basse. Le plus petit numéro d'interruption possède la priorité d'exécution la plus haute. Si, par exemple, ITMR 4 et ITMR 5 se produisent en même temps, ITMR 4 est exécutée en premier. A la fin de ITMR 4, ITMR 5 commence généralement à s'exécuter. Une exception à la règle serait qu'une autre interruption ITMR de priorité supérieure se produise lors de l'exécution de ITMR 4. Supposons par exemple que ITMR 3 survienne tandis que ITMR 5 attend la fin de l'exécution de ITMR 4. ITMR 3 commence dans ce cas à s'exécuter lorsque ITMR 4 se termine et ITMR 5 patiente toujours. 678 31007524 8/2010 ITOF : conversion entier en virgule flottante 31007524 8/2010 ITOF : conversion entier en virgule flottante 105 Introduction Ce chapitre décrit l'instruction ITOF. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Description sommaire 680 Représentation 681 679 ITOF : conversion entier en virgule flottante Description sommaire Description de la fonction L'instruction ITOF effectue la conversion d'une valeur entière signée ou non signée (sa partie haute) en une valeur à virgule flottante (VF), et mémorise la valeur VF dans deux registres 4x successifs en partie médiane. 680 31007524 8/2010 ITOF : conversion entier en virgule flottante Représentation Symbole Représentation de l'instruction Description des paramètres Description des paramètres de l'instruction Paramètres Référence de Type de mémoire données d'état Signification Entrée haute 0x, 1x Aucun Activée = Valide la conversion Entrée basse 0x, 1x Aucun Activée = Opération signée Désactivée = Opération non signée entier (partie haute) 3x, 4x INT, UINT Valeur entière, peut être affichée explicitement sous forme d'entier (de 1 à 65 535) ou mémorisée dans un registre VF convertie (partie médiane) 4x REAL Valeur VF convertie (le premier de deux registres de sortie successifs) INT, UINT Valeur constante égale à 1, ne peut pas être changée Aucun Activée = Conversion VF réussie 1 (partie basse) Sortie haute 31007524 8/2010 0x 681 ITOF : conversion entier en virgule flottante 682 31007524 8/2010 JOGS 31007524 8/2010 JOGS : déplacement JOG 106 Introduction Ce chapitre décrit l'instruction JOGS. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Description sommaire 684 Représentation 685 683 JOGS Description sommaire Description de la fonction Le bloc fonction JOGS permet de modifier l'orientation d'un axe (positive ou négative) via les commandes de déplacement continu immédiat et Halt MMFStart. La vitesse est spécifiée dans la table de registre correspondante. 684 31007524 8/2010 JOGS Représentation Symbole Le diagramme suivant représente la fonction JOGS : Description des paramètres Le tableau suivant décrit les paramètres de l'instruction : 31007524 8/2010 Paramètres Référence Type de de mémoire données d'état Signification Entrée haute 0x Aucun L'état actif déclenche la fonction positive JOG. La commande HALT est utilisée lorsque l'entrée est désactivée. Entrée médiane 0x Aucun L'état actif déclenche la fonction négative JOG. La commande HALT est utilisée lorsque l'entrée est désactivée. Partie haute 4x INT, UINT Adresse de la table de communication du registre MMFSTART 200. Elle correspond normalement à 401001. Cette adresse peut être configurée en modifiant le fichier MMFSTART.CFG sur le contrôleur QUANTUM SERCOS. 685 JOGS Paramètres Référence Type de de mémoire données d'état Signification Partie médiane 4x INT, UINT Ce registre pointe vers un bloc de registres définissant tous les arguments de la fonction JOG. Les deux derniers registres servent au contrôle d'état. Partie basse 4x INT L'entier saisi dans la partie basse indique la longueur de la table. Dans le cas présent, le nombre de registres de la table doit être égal à 6. Sortie haute 0x Aucun Activée lorsque la fonction JOG a été réalisée sans erreur et indique l'état des entrées haute ou médiane. Sortie médiane 0x Aucun Activée lorsque la fonction JOG a été réalisée sans erreur et indique l'état des entrées haute ou médiane. Sortie basse 0x Aucun Activée lorsque la longueur du registre n'est pas égale à 6. Registres Le tableau suivant décrit les registres de l'instruction : Registre 686 Type de données Description 4xxxxx Entier court ID de l'axe du déplacement incrémental 4xxxx1 Nb à virgule flottante Vitesse utilisée par la fonction JOG sur l'axe 4xxxx3 Entier court Code d'erreur généré lors d'une tentative de démarrage de déplacement 4xxxx4 Entier court Numéro de l'état de fonctionnement courant 4xxxx5 Entier court Nombre d'entrées d'état actuel 31007524 8/2010 JSR : saut vers sous-programme 31007524 8/2010 JSR : saut vers sous-programme 107 Introduction Ce chapitre décrit l'instruction JSR. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Description sommaire 688 Représentation 689 687 JSR : saut vers sous-programme Description sommaire Description de la fonction Lorsque le cycle logique normal rencontre une instruction JSR validée, il s'arrête et saute au sous–programme source indiqué dans le dernier segment (non ordonnancé) de la logique de schéma à contacts. Vous pouvez utiliser une instruction JSR n'importe où dans la logique utilisateur, même à l'intérieur d'un segment du sous–programme. Le procédé d'appel d'un sous–programme depuis un autre sous–programme s'appelle imbrication. Le système vous permet d'imbriquer jusqu'à 100 sous–programmes ; néanmoins, nous vous recommandons de ne pas utiliser plus de trois niveaux d'imbrication. Vous pouvez également utiliser une forme récurrente d'imbrication appelée bouclage, dans laquelle un appel JSR à l'intérieur du sous–programme rappelle le même sous–programme. Exemple de traitement de sous-programme Pour trouver un exemple de traitement de sous-programme, voir Traitement des sous-programmes, page 77. 688 31007524 8/2010 JSR : saut vers sous-programme Représentation Symbole Représentation de l'instruction Description des paramètres Description des paramètres de l'instruction Paramètres Référence de Type de mémoire données d'état Signification Entrée haute 0x, 1x Aucun Valide le sous-programme source. Source (partie haute) 4x INT, UINT Pointeur source (indiquant le sousprogramme vers lequel le cycle logique sautera), saisi explicitement sous forme d'entier ou mémorisé dans un registre, compris entre 1 et 1 023 INT, UINT Toujours saisir la valeur constante 1. #1 (partie basse) 31007524 8/2010 Sortie haute 0x Aucun Donne une image de l'état de l'entrée haute Sortie basse 0x Aucun Erreur pendant le saut vers le sousprogramme Activée si le saut ne peut pas être exécuté. L'étiquette n'existe pas ou Niveau d'imbrication > 100. 689 JSR : saut vers sous-programme 690 31007524 8/2010 LAB : étiquette d'un sous-programme 31007524 8/2010 LAB : étiquette d'un sous-programme 108 Introduction Ce chapitre décrit l'instruction LAB. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 692 Représentation 693 Description des paramètres 694 691 LAB : étiquette d'un sous-programme Description sommaire Description de la fonction L'instruction LAB est utilisée pour repérer le point de départ d'un sous-programme dans le dernier segment (non ordonnancé) de la logique utilisateur. Cette instruction doit être programmée à la première ligne, première colonne d'un réseau dans le dernier segment (non ordonnancé) de la logique utilisateur. LAB est un bloc fonction en une partie. LAB fait également office de retour par défaut depuis le sous-programme des réseaux précédents. Si vous exécutez une série de réseaux de sous-programmes et que vous trouvez un réseau commençant par LAB, le système sait que le sousprogramme précédent est terminé et retourne le cycle logique à la partie immédiatement après le dernier bloc JSR exécuté. NOTE : Si vous avez besoin que les E/S monde réel soient traitées dans le sousprogramme d'interruption, vous devez utiliser le bloc fonction IMIO (voir page 651) (lecture/écriture) dans le même sous-programme. Dans le cas contraire, les E/S monde réel référencées dans ce sous-programme ne seront pas traitées tant que le segment approprié ne sera pas exécuté. Exemple de traitement des sous-programmes Pour consulter un exemple de traitement des sous-programmes, reportez-vous à la section Traitement des sous-programmes, page 77. 692 31007524 8/2010 LAB : étiquette d'un sous-programme Représentation Symbole Représentation de l'instruction Description des paramètres Description des paramètres de l'instruction Paramètres Référence de Type de données mémoire d'état Signification Entrée haute 0x, 1x Aucun Déclenche le sous-programme indiqué par le nombre en partie basse. INT, UINT Valeur entière, identifie le sousprogramme que vous allez exécuter. Plage : 1 à 255 automates 16 bits. Plage : 1 à 1023 automates 24 bits. Taille = constante 1 à 255 ou Taille = constante 1 à 1023 pour 785L. Erreur de numéro de sous-programme. Passe à l'état actif si le retour ne peut pas être exécuté. Lorsque plusieurs réseaux commencent par une instruction LAB avec la même valeur de sous-programme, le réseau portant le numéro le plus petit est utilisé comme point de départ du sousprogramme. Aucun Activé = erreur dans le déclenchement du sous-programme indiqué. Sousprogramme (partie haute) Sortie haute 31007524 8/2010 0x 693 LAB : étiquette d'un sous-programme Description des paramètres Sous–programme (partie basse) Le nombre entier mémorisé dans la partie identifie le sous–programme que vous vous apprêtez à exécuter. Ce nombre doit être compris entre 1 et 255. Si plusieurs réseaux de sous–programmes ont la même valeur LAB, le réseau portant le numéro le plus petit est utilisé comme point de départ du sous–programme. 694 31007524 8/2010 LOAD : chargement de la mémoire flash 31007524 8/2010 LOAD : chargement de la mémoire flash 109 Introduction Ce chapitre décrit l'instruction LOAD. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 696 Représentation 697 Description des paramètres 698 695 LOAD : chargement de la mémoire flash Description sommaire Description de la fonction NOTE : Cette instruction est disponible avec la famille des automates TSX Compact, des processeurs Quantum 434 12/ 534 14 et des processeurs Momentum CCC 960 x0/ 980 x0. L'instruction LOAD charge un bloc de registres 4x (précédemment sauvegardés par SAVE) de la mémoire d'état où ils sont protégés de tout risque de modification non autorisée. 696 31007524 8/2010 LOAD : chargement de la mémoire flash Représentation Symbole Représentation de l'instruction Description des paramètres Description des paramètres de l'instruction 31007524 8/2010 Paramètres Référence Type de de mémoire données d'état Signification Entrée haute 0x, 1x Aucun Début de l'opération LOAD : elle doit rester activée jusqu'à ce qu'elle s'achève sans erreur ou jusqu'à ce qu'une erreur se produise. Registre (partie haute) 4x INT, UINT, WORD Premier des 512 registres 4x successifs maximum à charger depuis la mémoire d'état. 1, 2, 3, 4 (partie médiane) INT Valeur entière qui définit le tampon spécifique où le bloc de données doit être chargé. Longueur (partie basse) INT Nombre de mots à charger, compris entre 1 et 512 Sortie haute 0x Aucun Activée = LOAD est actif. Sortie médiane 0x Aucun Activée = une opération LOAD est demandée depuis un tampon où aucune donnée n'a été sauvegardée. Sortie basse 0x Aucun Activée = longueur différente de la longueur sauvegardée. 697 LOAD : chargement de la mémoire flash Description des paramètres 1, 2, 3, 4 (partie médiane) La partie médiane définit le tampon spécifique où le bloc de données doit être chargé. Quatre tampons de 512 mots sont autorisés. Chaque tampon se définit en plaçant la valeur correspondante en partie médiane, autrement dit la valeur 1 représente le premier tampon, la valeur 2 représente le second tampon, etc. Les valeurs permises sont 1, 2, 3 et 4. Lorsque l'automate démarre, les quatre tampons sont à zéro. Par conséquent, vous ne pouvez pas charger les données du même tampon sans d'abord les sauvegarder avec l'instruction SAVE. Si vous tentez de le faire, la sortie médiane est activée. En d'autres termes, dès qu'un tampon est utilisé, il ne pourra l'être à nouveau qu'après suppression des données. Sortie basse La sortie de la partie basse est activée lorsqu'une requête LOAD est différente des registres qui ont été sauvegardés. Ce type de transaction est autorisé, mais vous devez vous assurer que cela ne créera pas de problème dans votre application. 698 31007524 8/2010 MAP3 : transmission MAP 31007524 8/2010 MAP3 : transmission MAP 110 Introduction Ce chapitre décrit l'instruction MAP3. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 700 Représentation 701 Description des paramètres 702 699 MAP3 : transmission MAP Description sommaire Description de la fonction NOTE : Cette instruction n'est disponible que si vous avez décompacté et installé les instructions chargeables DX. Vous trouverez de plus amples informations dans Installation des instructions chargeables DX, page 79. Les applications de schéma à contacts actuellement dans l'automate déclenchent la communication avec les parties du réseau MAP par l'intermédiaire de l'instruction MAP3. 700 31007524 8/2010 MAP3 : transmission MAP Représentation Symbole Représentation de l'instruction Description des paramètres Description des paramètres de l'instruction 31007524 8/2010 Paramètres Référence de mémoire d'état Type de données Signification Entrée haute 0x, 1x Aucun Activée = déclenche la transmission. Entrée médiane 0x, 1x Aucun Activée = nouvelle transmission à déclencher au cours du même cycle. Bloc de contrôle (partie haute) 4x INT, UINT, Bloc de contrôle (premier registre d'un WORD bloc) Source de données 4x (partie médiane) INT, UINT, Source de données (registre de départ) WORD Longueur (partie basse) INT, UINT Longueur de la zone des données locales, comprise entre 1 et 255) Sortie haute 0x Aucun Transmission réussie Sortie médiane 0x Aucun Transmission en cours de traitement Sortie basse 0x Aucun Erreur 701 MAP3 : transmission MAP Description des paramètres Entrée haute Cette entrée déclenche une transaction. Pour démarrer une transaction, l'entrée doit être maintenue sur Activée (HIGH) pendant au moins un cycle. Si le S980 dispose des ressources pour traiter la transaction, la sortie médiane devient active. Si les ressources ne sont pas disponibles, aucune sortie ne devient active. Lorsqu'une transaction a été démarrée, elle s'exécute jusqu'à la réception d'une réponse, la détection d'une erreur ou d'un timeout. Les valeurs du bloc de contrôle, de la source de données et de la longueur ne doivent pas être modifiées, sinon la transaction ne sera pas complète et la sortie basse ne sera pas activée. Une deuxième transaction ne peut pas démarrer au même bloc avant la fin de la première. Entrée médiane Si l'entrée haute est également sur HIGH, une activation de l'entrée médiane permet de déclencher une nouvelle transaction au cours du même cycle, à la fin de la précédente. Une nouvelle transaction commence lorsque la sortie haute devient active depuis la première transaction. Bloc de contrôle (partie haute) La partie haute est le registre 4x du début d'un bloc de registres contrôlant la commande du bloc. Le contenu de chaque registre est déterminé par le type d'opération à effectuer par le bloc MAP3 : z Lecture ou écriture z Rapport d'informations z Etat non sollicité z Fin z Abandon Registres du bloc de contrôle : 702 Mot Signification 1 Appareil cible 2 Qualificatif/Code fonction 3 Mode réseau/Type de réseau 4 Etat de la fonction 5 Type de référence du registre A. Ce mot est étiqueté Registre A* et contient les références de 4 types de lecture (registres 0x, 1x, 3x et 4x) et de 2 types d'écriture (0X ou 4x). 31007524 8/2010 MAP3 : transmission MAP Mot Signification 6 Numéro de référence du registre B Ce mot est étiqueté Registre B* et contient le numéro de référence de début, compris entre 1 et 99 999. 7 Longueur de référence du registre C Ce mot est étiqueté Registre C* et contient la quantité de références demandée. 8 Timeout du Registre D Ce mot est étiqueté Registre D* et contient le paramètre du timeout. Cette valeur détermine la durée maximum utilisée pour réaliser une transaction, y compris les nouvelles tentatives. Appareil cible Le mot 1 contient l'appareil cible dans les positions de bits 9 à 16. L'ordinateur fonctionne avec cet octet comme bit de poids faible et acceptera une plage de valeurs comprises entre 1 et 255. Utilisation du mot 1 : Bit Fonction 1à8 Non utilisé 9 à 16 Appareil cible Qualificatif/Code fonction Le mot 2 contient deux octets d'informations. Les bits de qualificatif 1 à 8 et le code de fonction des bits 9 à 16. Utilisation du mot 2 : Bit Fonction Qualificatif 1à8 0 = Adressé >0 = Nommé Code de fonction 9 à 16 31007524 8/2010 4 = Lecture 5 = Ecriture 703 MAP3 : transmission MAP Mode réseau/Type de réseau Le mot 3 contient deux octets d'informations. Le mode se trouve dans les bits 5 à 8 et le type, dans les bits 9 à 16. Utilisation du mot 3 : Bit Fonction 1à4 Non utilisé Mode 5à8 1 = Association Type 9 à 12 7 = Réseau MAP 7 couches 13 à 16 1 = Service de type 1 Etat de la fonction Le mot 4 correspond à l'état de la fonction. Un numéro d'erreur est retourné si une erreur se produit dans la fonction déclenchée du bloc. Les codes en décimal sont : 704 Code Signification 1 Requête d'association rejetée 4 Réponse de l'application au timeout du message 5 Appareil cible non valide 6 Taille du message dépassée 8 Code de fonction non valide 17 Equipement non disponible 19 Type de réseau non pris en charge 22 Aucune voie disponible 23 Pas de message MMS envoyé 24 Bloc de contrôle modifié 25 Echec du déclenchement 26 Chargement système en cours 28 Voie non prête 99 Erreur indéterminée 103 Accès refusé 105 Adresse non valide 110 Objet inexistant 31007524 8/2010 MAP3 : transmission MAP Résumé des fonctions L'appareil qui contrôle le réseau peut émettre un code de fonction pouvant modifier l'affectation de registre du bloc de contrôle, comme indiqué ci-dessus pour Lecture/Ecriture. Les différences d'informations, d'état, de fin et d'abandon sont identifiées dans le récapitulatif situé dans la partie inférieure de votre écran. Reportez-vous au Guide utilisateur de l'interface réseau Modicon S980 Map 3.0 qui décrit le contenu des registres de chaque opération. Source de données (partie médiane) La partie médiane correspond au registre 4x de début de la source de données locale (pour une requête d'écriture) ou de la cible des données locales (pour une lecture). Longueur (partie basse) La partie basse définit la taille maximale de la zone de données locales (quantité de registres) débutant au registre 4x de la source des données et comprise entre 1 et 255 en décimal. La quantité de données à transférer réellement dans l'opération est déterminée par un paramètre de longueur de référence placé dans un des registres de contrôle. Sortie haute La sortie haute devient active pour un cycle lorsqu'une transaction a été effectuée. Sortie médiane La sortie médiane devient active lorsqu'une transaction est en cours. Lorsque l'entrée haute est activée et que l'entrée médiane est désactivée, la sortie médiane est désactivée, tandis que la sortie haute est activée au cours du même cycle. Si les entrées haute et médiane sont toutes les deux activées, alors la sortie médiane restera activée. Sortie basse La sortie basse devient active pour un cycle lorsqu'une transaction ne peut pas être terminée. Un code d'erreur est retourné au mot d'état de la fonction (registre 4x+3) dans le bloc de contrôle de la fonction. 31007524 8/2010 705 MAP3 : transmission MAP 706 31007524 8/2010 MATH : opérations sur entiers 31007524 8/2010 MATH : opérations sur entiers 111 Introduction Ce chapitre décrit les quatre opérations sur entiers exécutées par l'instruction MATH, à savoir racine carrée décimale, racine carrée procédé, logarithme (base 10) et antilogarithme (base 10). Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Description sommaire 708 Représentation 709 707 MATH : opérations sur entiers Description sommaire Description de la fonction L'instruction MATH permet d'exécuter les quatre opérations mathématiques sur entiers et peut être lancée à partir de la saisie d'un code de fonction compris entre 1 et 4 dans la partie basse. Table comportant deux colonnes : Code Fonction de l'instruction MATH 1 Racine carrée décimale 2 Racine carrée procédé 3 Logarithme (base 10) 4 Antilogarithme (base 10) Chaque fonction de l'instruction MATH agit sur le contenu des registres situés en partie haute et place un résultat dans les registres situés en partie médiane. Par exemple, la racine carrée normale utilise les registres 3/4xxxx et 3/4xxxx+1 en tant qu'opérande à 8 chiffres et mémorise le résultat dans 4yyyy et 4yyyy+1. Le format de stockage du résultat est XXXX,XX00, la virgule décimale implicite étant suivie de deux chiffres. L'instruction MATH exécute la fonction indiquée par la partie basse : 708 Code Fonction Registres d'opérandes Plage Registres de résultats Plage 1 Normal 3/4x, 3/4x + 1 8 chiffres 4y, 4y + 1 xxxx,xxoo 2 Procédé 3/4x 4 chiffres 4y, 4y + 1 xxxx,xxoo 3 Logarithme (x) 3/4x, 3/4x + 1 8 chiffres 4y 1 à 7 999 4 Antilogarith me (x) 3/4x 1 à 7 999 4y, 4y + 1 8 chiffres 31007524 8/2010 MATH : opérations sur entiers Représentation Symbole : racine carrée décimale Représentation de l'instruction pour l'opération racine carrée décimale Description des paramètres : racine carrée décimale Description des paramètres de l'instruction pour l'opération racine carrée décimale Paramètres Référence de mémoire d'état Entrée haute 0x, 1x source (partie haute) 31007524 8/2010 3x, 4x Type de données Signification Aucun L'état actif déclenche une opération racine carrée standard. INT, UINT Le premier des deux registres 3xxxx ou 4xxxx successifs est mémorisé en partie haute. Le deuxième registre est implicite. La valeur source (valeur dont est extraite la racine carrée) est mémorisée ici. Si vous précisez un registre 4xxxx, la valeur source peut être comprise entre 0 et 99 999 999. La partie poids faible de la valeur est mémorisée dans le registre implicite et la partie poids fort dans le registre affiché. Si vous précisez un registre 3xxxx, la valeur source peut être comprise entre 0 et 9 999. Le calcul de la racine carrée est effectué uniquement sur la valeur du registre affiché. En effet, le registre implicite est requis, mais il n'est pas utilisé. 709 MATH : opérations sur entiers Paramètres Référence de mémoire d'état Type de données Signification résultat (partie médiane) 4x INT, UINT Entrez le premier des deux registres 4xxxx successifs en partie médiane. Le deuxième registre est implicite. Le résultat de l'opération racine carrée standard est mémorisé ici. Le résultat est mémorisé au format décimal fixe suivant : "1234,5600,". Les valeurs sur quatre chiffres situées à gauche et à droite de la première virgule décimale sont respectivement mémorisées dans le registre affiché et dans le registre implicite. Les nombres sont tronqués après la seconde virgule décimale ; aucun arrondi n'est réalisé. Sortie haute 0x Aucun Activée = Opération réussie Sortie basse 0x Aucun Activée = Valeur en partie haute hors limites Symbole : racine carrée procédé Représentation de l'instruction pour l'opération racine carrée procédé 710 31007524 8/2010 MATH : opérations sur entiers Description des paramètres : racine carrée procédé La fonction racine carrée procédé adapte la fonction racine carrée standard aux applications de régulation analogique en boucle fermée. Elle prend le résultat de la racine carrée standard, le multiplie par 63,9922 (racine carrée de 4 095) et mémorise ce résultat linéarisé dans les registres de la partie médiane. Paramètres Référence de mémoire d'état Type de données Signification Entrée haute 0x, 1x Aucun L'état actif déclenche l'opération racine carrée procédé source (partie haute) 3x. 4x INT, UINT Le premier des deux registres 3xxxx ou 4xxxx successifs est mémorisé en partie haute. Le deuxième registre est implicite. La valeur source (valeur dont est extraite la racine carrée) est mémorisée dans ces deux registres. Pour générer des valeurs significatives, la valeur source ne doit pas dépasser 4 095. Dans un groupe de registres 4xxxx, la valeur source est mémorisée dans le registre implicite, tandis que dans un groupe de registres 3xxxx, la valeur source est mémorisée dans le registre affiché. INT, UINT Le premier des deux registres 4xxxx successifs est mémorisé en partie médiane. Le deuxième registre est implicite. Le résultat linéarisé de l'opération racine carrée procédé est mémorisé ici. Le résultat est mémorisé au format décimal fixe suivant : "1234,5600,". Les valeurs sur quatre chiffres situées à gauche et à droite de la première virgule décimale sont respectivement mémorisées dans le registre affiché et dans le registre implicite. Les nombres sont tronqués après la seconde virgule décimale ; aucun arrondi n'est réalisé. résultat 4x (partie médiane) 31007524 8/2010 Sortie haute 0x Aucun Activée = Opération réussie Sortie basse 0x Aucun Activée = Valeur source hors limites 711 MATH : opérations sur entiers Symbole : logarithme (base 10) Représentation de l'instruction pour l'opération logarithme (base 10) Description des paramètres : logarithme (base 10) Description des paramètres de l'instruction pour l'opération logarithme (base 10) 712 Paramètres Référence de mémoire d'état Type de données Signification Entrée haute 0x, 1x Aucun L'état actif déclenche l'opération log(x) source (partie haute) 3x. 4x INT, UINT Le premier des deux registres 3xxxx ou 4xxxx successifs est mémorisé en partie haute. Le deuxième registre est implicite. La valeur source (valeur sur laquelle le calcul du logarithme est effectué) est mémorisée dans ces registres. Si vous précisez un registre 4xxxx, la valeur source peut être comprise entre 0 et 99 999 999. La partie poids faible de la valeur est mémorisée dans le registre implicite et la partie poids fort dans le registre affiché. Le calcul du logarithme est effectué uniquement sur la valeur du registre affiché. En effet, le registre implicite est requis, mais il n'est pas utilisé. 31007524 8/2010 MATH : opérations sur entiers Paramètres Référence de mémoire d'état Type de données Signification résultat 4x (partie médiane) INT, UINT La partie médiane comporte un seul registre de sortie 4xxxx dans lequel est placé le résultat du calcul du logarithme en base 10. Ce résultat est exprimé au format décimal fixe "1,234" et est tronqué après la troisième décimale. Le plus grand résultat pouvant être calculé est 7,999, lequel est alors placé dans le registre médian comme 7 999. Sortie haute 0x Aucun Activée = Opération réussie Sortie basse 0x Aucun Activée = Erreur ou valeur hors limites Symbole : antilogarithme (base 10) Représentation de l'instruction pour l'opération antilogarithme (base 10) 31007524 8/2010 713 MATH : opérations sur entiers Description des paramètres : antilogarithme (base 10) Description des paramètres de l'instruction pour l'opération antilogarithme (base 10) Paramètres 714 Référence de mémoire d'état Type de données Signification Entrée haute 0x, 1x Aucun L'état actif déclenche l'opération antilog(x) source (partie haute) 3x. 4x INT, UINT La partie haute est un seul registre de sortie 4xxxx ou un registre d'entrée 3xxxx. La valeur source (valeur sur laquelle le calcul de l'antilogarithme est effectué) est mémorisée ici au format décimal fixe 1,234. Elle doit être comprise entre 0 et 7 999, soit une valeur source de 7,999 au maximum. résultat 4x (partie médiane) INT, UINT Le premier des deux registres 4xxxx successifs est mémorisé en partie médiane. Le deuxième registre est implicite. Le résultat du calcul de l'antilogarithme est placé ici au format décimal fixe 12345678. La plus grande valeur antilogarithme pouvant être calculée est 99770006 (valeur 9 977 placée dans le registre affiché et valeur 0006 placée dans le registre implicite). Sortie haute 0x Aucun Activée = Opération réussie Sortie basse 0x Aucun Activée = Erreur ou valeur hors limites 31007524 8/2010 MBIT : modification des bits 31007524 8/2010 MBIT : modification des bits 112 Introduction Ce chapitre décrit l'instruction MBIT. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 716 Représentation 717 Description des paramètres 719 715 MBIT : modification des bits Description sommaire Description de la fonction AVERTISSEMENT BOBINES INVALIDEES Avant d'utiliser les instructions MBIT, vérifiez les bobines invalidées. L'instruction MBIT neutralisera toute bobine invalidée d'un groupe cible sans pour autant la valider. Ceci peut provoquer des dommages si une bobine a été invalidée pour travaux de réparation ou d'entretien puisque l'état de la bobine peut changer suite à l'instruction MBIT. Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des dommages matériels. L'instruction MBIT modifie les états des bits à l'intérieur d'une matrice de données, c'est–à–dire qu'elle définit le ou les bits sur la valeur 1 ou qu'elle leur affecte la valeur 0. Un seul état de bit peut être modifié par cycle. 716 31007524 8/2010 MBIT : modification des bits Représentation Symbole Représentation de l'instruction 31007524 8/2010 717 MBIT : modification des bits Description des paramètres Description des paramètres de l'instruction Paramètres Référence de Type de mémoire données d'état Signification Entrée haute 0x, 1x Aucun Activée = met en œuvre la modification des bits Entrée médiane 0x, 1x Aucun Désactivée = affecte la valeur 0 aux positions de bits. Activée = définit les positions de bits sur 1. Entrée basse 0x, 1x Aucun Incrémente de 1 la position du bit après la modification. Position de bit (partie haute) 3x, 4x INT, UINT, WORD Position de bit spécifique à définir sur 1 ou 0 dans la matrice des données et saisi explicitement sous la forme d'une valeur entière, ou mémorisé dans un registre (compris entre1 et 9 600) Matrice de données (partie médiane) 0x, 4x INT, UINT, WORD Premier mot ou registre de la matrice de données INT, UINT Longueur de la matrice, comprise entre 1 et 600 Longueur (partie basse) 718 Sortie haute 0x Aucun Donne une image de l'état de l'entrée haute Sortie médiane 0x Aucun Donne une image de l'état de l'entrée médiane. Sortie basse 0x Aucun Activée = erreur : position de bit > longueur de la matrice 31007524 8/2010 MBIT : modification des bits Description des paramètres Position de bit (partie haute) NOTE : Si la position de bit est saisie comme entier ou dans un registre 3x, l'instruction ignorera l'état de l'entrée basse. Longueur de la matrice (partie basse) Le nombre entier mémorisé en partie basse indique la longueur de la matrice, c'està-dire le nombre de registres ou de mots 16 bits de la matrice de données. La longueur peut varier entre 1 et 600 dans une UC de 24 bits, autrement dit une longueur de matrice de 200 signifie 3200 positions de bits. 31007524 8/2010 719 MBIT : modification des bits 720 31007524 8/2010 MBUS : transmission MBUS 31007524 8/2010 MBUS : transmission MBUS 113 Introduction Ce chapitre décrit l'instruction MBUS. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 722 Représentation 723 Description des paramètres 725 La fonction MBUS Lire statistiques 727 721 MBUS : transmission MBUS Description sommaire Description de la fonction NOTE : Cette instruction n'est disponible que si vous avez décompacté et installé les instructions chargeables DX. Vous trouverez de plus amples informations dans Installation des instructions chargeables DX, page 79. Les modules optionnels de l'interface S975 Modbus II utilisent deux blocs fonction chargeables : MBUS et PEER. MBUS est utilisé pour déclencher une transmission unique avec un autre équipement raccordé au réseau Modbus II. Dans une transmission MBUS, vous pouvez lire ou écrire des données de bit ou de registre. Les automates raccordés au réseau Modbus II peuvent gérer jusqu'à 16 transmissions en même temps. Les transmissions sont constituées des messages entrants (non sollicités) de même que des messages sortants. Ainsi, le nombre de déclenchements de message qu'un automate peut gérer à n'importe quel moment est de 16 – nombre de messages entrants. Une transmission ne peut pas être déclenchée si le S975 n'a pas assez de ressources pour exécuter la transmission totale. Lorsqu'une transmission a été activée, elle se poursuit jusqu'à ce qu'une réponse soit reçue, une erreur détectée ou un timeout dépassé. Une deuxième transmission ne peut pas être amorcée pendant ce même cycle avant que la précédente ne soit achevée, sauf si l'entrée médiane est activée. Une deuxième transaction ne peut pas être déclenchée par la même instruction MBUS tant que la première n'est pas terminée. 722 31007524 8/2010 MBUS : transmission MBUS Représentation Symbole Représentation de l'instruction 31007524 8/2010 723 MBUS : transmission MBUS Description des paramètres Description des paramètres de l'instruction Paramètres Référence de Type de mémoire données d'état Signification Entrée haute 0x, 1x Aucun Déclenche la transmission MBUS Entrée médiane 0x, 1x Aucun Répète la transmission dans le même cycle Entrée basse Aucun Efface les statistiques système Bloc de contrôle 4x (partie haute) INT, UINT, WORD Premier de sept registres successifs du bloc de contrôle MBUS (Pour plus d'informations, reportez-vous à la section Bloc de contrôle (partie haute), page 725.) 4x INT, UINT, WORD Premier registre 4x d'un bloc de données à être transmis ou reçu dans la transmission MBUS. INT, UINT Le nombre de mots réservés du bloc de données est mémorisé sous forme de valeur constante (Pour plus d'informations, reportez-vous à la section Longueur (partie basse), page 726.) Bloc de données (partie médiane) 0x, 1x Longueur (partie basse) 724 Sortie haute 0x Aucun Transmission achevée Sortie médiane 0x Aucun Transmission en cours ou démarrage d'une nouvelle transmission Sortie basse 0x Aucun Erreur détectée dans la transmission 31007524 8/2010 MBUS : transmission MBUS Description des paramètres Bloc de contrôle (partie haute) Le registre 4x mémorisé en partie haute est le premier de sept registres successifs du bloc de contrôle MBUS : Registre Contenu Affiché Adresse de l'équipement cible (plage de 0 à 246) Premier implicite Inutilisé Deuxième implicite Code de fonction Troisième implicite Type de référence Quatrième implicite Numéro de référence, par exemple si vous inscrivez 4 dans le troisième registre implicite et que vous saisissez 23 pour ce registre, la référence sera le registre de sortie 400023 Cinquième implicite Nombre de mots de références de bit ou de registre à lire ou écrire Sixième implicite Temps alloué pour achever une transmission avant qu'une erreur ne soit déclarée ; exprimé en multiple de 10 ms, par exemple 100 indique 1 000 ms ; le timeout par défaut est de 250 ms. Code de fonction Ce registre contient le code de fonction de l'action demandée : Valeur Signification 01 Lire données de bit 02 Lire registres 03 Ecrire sorties TOR 04 Ecrire sorties registre 255 Lire statistiques système Type de référence Ce registre contient l'un des 4 types de références de bit ou de registre possibles : 31007524 8/2010 Valeur Type de référence 0 Sortie TOR (0x) 1 Entrée TOR (1x) 2 Registre d'entrée (3x) 3 Registre de sortie (4x) 725 MBUS : transmission MBUS Nombre de mots à lire ou écrire Nombre de mots de références de bit ou de registre à lire ou écrire ; les longueurs maximales étant les suivantes : Lecture de registre 251 registres Ecriture de registres 249 registres Lecture de bobines 7,848 données de bit Ecriture de bobines 7,800 données de bit Longueur (partie basse) Le nombre de mots réservés au bloc de données est enregistré comme une valeur constante dans la partie basse. Ce nombre n'indique pas de longueur de transmission de données, mais il peut restreindre le nombre maximum autorisé de références de bit ou de registre pouvant être lues ou écrites au cours de la transmission. Le nombre maximum de mots pouvant être utilisé dans la transmission indiquée est de : 726 Nombre max. de mots : Transmission 251 Lecture des registres (un registre/mot) 249 Ecriture des registres (un registre/mot) 490 Lecture des données de bit en utilisant des UC 24 bits (jusqu'à 16 données de bit/mot) 487 Ecriture des données de bit en utilisant des UC 24 bits (jusqu'à 16 données de bit/mot) 31007524 8/2010 MBUS : transmission MBUS La fonction MBUS Lire statistiques Généralités En plaçant le code de fonction 255 dans le deuxième registre implicite du bloc de contrôle MBUS, vous obtenez une copie des statistiques locales Modbus II, une série de 46 emplacements de registres successifs dans laquelle les données descriptives des erreurs et des états du système sont enregistrées. Lorsque vous utilisez MBUS pour une opération Lire statistiques, positionnez la longueur de la partie basse à 46, toute longueur < 46 déclenchera une erreur (la sortie basse deviendra ACTIVE), et toute longueur > 46 réservera des registres supplémentaires ne pouvant pas être utilisés. Exemple Paramétrage de l'instruction Le registre 400101 est le premier registre du bloc de contrôle MBUS, définissant le registre 400103 comme le registre de contrôle définissant lui–même le code de fonction MBUS. En saisissant la valeur 255 dans le registre 400103, vous implémentez une fonction Lire les statistiques. Les registres 401000 à 401045 sont ensuite renseignés avec les statistiques système. Présentation des statistiques système Les statistiques système suivantes sont disponibles. Contrôleur de bus à jeton (TBC) z Statistiques de réception mises à jour par logiciel z Compteurs d'erreurs mis à jour par TBC z Erreurs de transmission mises à jour par logiciel z Erreurs de réception mises à jour par logiciel z Erreurs de transmission de la logique utilisateur z Norme de format de message de fabrication (MMFS) z Erreurs (MMFS) z Statistiques de contexte z Révision de logiciel z 31007524 8/2010 727 MBUS : transmission MBUS Contrôleur de bus à jeton (TBC) Les registres 401000 à 401003 sont ensuite renseignés avec les indications suivantes : Registre Contenu 401000 Nombre de jetons transmis par cette station 401001 Nombre de jetons envoyés par cette station 401002 Nombre de fois où le TBC n'a pas pu transmettre le jeton et n'a pas trouvé de successeur 401003 Nombre de fois où la station a dû chercher un nouveau successeur Statistiques de réception mises à jour par logiciel Les registres 401004 à 401010 sont ensuite renseignés avec les indications suivantes : Registre Contenu 401004 Trames d'erreur detectées par le TBC 401005 Demande invalide avec trames de réponse 401006 Message des applications trop long 401007 Adresse MAC (contrôle d'accès au support physique) hors limites 401008 Trames d'application en double 401009 Types de messages de contrôle de la liaison logique (LLC) non gérés 401010 Adresse LLC non gérée Compteurs d'erreurs mis à jour par TBC Les registres 401011 à 401018 sont ensuite renseignés avec les indications suivantes : 728 Registre Contenu 401011 Paquets bruités en réception (pas de délimiteur de début) 401012 Erreurs de séquence de contrôle de trame 401013 Erreur de bit E en délimiteur de fin 401014 Réception de trames fragmentées (trame de début non suivie par délimiteur de fin) 401015 Trames de réception trop longues 401016 Trames retirées puisque pas de tampon de réception 401017 Dépassement réception 401018 Erreurs de transmission de jeton 31007524 8/2010 MBUS : transmission MBUS Erreurs de transmission mises à jour par logiciel Les registres 401019 à 401020 sont ensuite renseignés avec les indications suivantes : Registre Contenu 401019 Nouvelles tentatives sur demande avec trame de réponse 401020 Toutes les nouvelles tentatives ont été effectuées, mais aucune réponse reçue Erreurs de réception mises à jour par logiciel Les registres 401021 à 401022 sont ensuite renseignés avec les indications suivantes : Registre Contenu 401021 Demande de transmission incorrecte 401022 Confirmation de transmission négative Erreurs de transmission de la logique utilisateur Les registres 401023 à 401024 sont ensuite renseignés avec les indications suivantes : Registre Contenu 401023 Message envoyé, mais aucune réponse de l'application 401024 Logique MBUS/PEER invalide Norme de format de message de fabrication (MMFS) Les registres 401025 à 401026 sont ensuite renseignés avec les indications suivantes : Registre Contenu 401025 Commande non exécutable 401026 Données non disponibles Erreurs (MMFS) Les registres 401027 à 401035 sont ensuite renseignés avec les indications suivantes : Registre 31007524 8/2010 Contenu 401027 Equipement non disponible 401028 Fonction non implémentée 729 MBUS : transmission MBUS Registre Contenu 401029 Demande non reconnue 401030 Erreur de syntaxe 401031 Erreur non spécifiée 401032 Demande de données hors limites 401033 La demande contient une adresse API invalide 401034 La demande contient un type de données invalide 401035 Erreur n'entrant pas dans les catégories ci–dessus Statistiques de contexte Les registres 401036 à 401043 sont ensuite renseignés avec les indications suivantes : Registre Contenu 401036 Demande MBUS/PEER invalide 401037 Nombre de types de messages MMFS non gérés reçus 401038 Réponse inattendue ou réponse reçue après le timeout 401039 Réponses d'application reçues en double 401040 Réponse d'un équipement non spécifié 401041 Nombre de réponses mises en mémoire tampon à traiter (dans l'octet de poids faible) ; nombre de demandes MBUS/PEER à traiter (dans l'octet de poids fort) 401042 Nombre de demandes reçues à traiter (dans l'octet de poids faible) ; nombre de transmissions en cours (dans l'octet de poids fort) 401043 Temps de cycle S975 par pas de 10 ms Révision de logiciel Les registres 401044 à 401045 sont ensuite renseignés avec les indications suivantes : 730 Registre Contenu 401044 Numéro de version du logiciel fixe (PROM) : numéro de version principal sur l'octet de poids fort ; numéro de version secondaire sur l'octet de poids faible 401045 Version de logiciel chargeable (EEPROMs) : numéro de version principal sur l'octet de poids fort ; numéro de version secondaire sur l'octet de poids faible 31007524 8/2010 MMFB 31007524 8/2010 MMFB : bloc de bits de la structure de mouvement Modicon 114 Introduction Ce chapitre décrit le bloc MMFB. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Description sommaire 732 Représentation 733 731 MMFB Description sommaire Description de la fonction Le bloc fonction MMFB configure les bits de contrôle d'un axe dans la zone de la table MMFSTART. Pour obtenir une description des fonctions de bits de contrôle, reportez-vous à la rubrique Représentation, page 733. La plupart de ces fonctions peuvent être exécutées via des sous-programmes, mais le bloc fonction MMFB permet d'obtenir de meilleurs résultats. Informations connexes Pour plus d'informations sur l'utilisation des instructions chargeables de mouvement, consultez le fichier relatif aux instructions chargeables MMFStart pour ProWORX 32 situé dans le dossier Programs\Lib\Quantum du CD-ROM d'installation de ProWORX 32. 732 31007524 8/2010 MMFB Représentation Symbole Le diagramme suivant représente la fonction MMFB : Description des paramètres Le tableau suivant décrit les paramètres de l'instruction : 31007524 8/2010 Paramètres Référence Type de Signification de mémoire données d'état Entrée haute 0x Aucun L'état actif déclenche permet de déplacer les données de contrôle. Ces dernières sont déplacées de manière constante tant que l'entrée est activée. Partie haute 4x INT, UINT Adresse de la table de communication du registre MMFSTART 200. Elle correspond normalement à 401001. Cette adresse peut être configurée en modifiant le fichier MMFSTART.CFG sur le contrôleur QUANTUM SERCOS. Partie médiane 4x INT, UINT Ce registre pointe vers un bloc de registres définissant tous les arguments de la fonction JOG. Les deux derniers registres servent au contrôle d'état. 733 MMFB Paramètres Référence Type de Signification de mémoire données d'état Partie basse 4x INT L'entier saisi dans la partie basse indique la longueur de la table. Dans le cas présent, le nombre de registres de la table doit être égal à 3. Sortie haute 0x Aucun Renvoie l'état de l'entrée haute, excepté lorsque l'axe (contenu de la partie haute) n'est pas valide ou lorsque la longueur de la table n'est pas égale à 2. Sortie basse 0x Aucun Activée lorsque la longueur du registre n'est pas égale à 3. Registres Le tableau suivant décrit les registres de l'instruction : 734 Registre Type de données Description 4xxxxx INT ID de l'axe 4xxxx1 INT Contrôle de niveau bas : bits 0 à 15 4xxxx2 INT Contrôle de niveau haut : bits 16 à 31 31007524 8/2010 MMFE 31007524 8/2010 MMFE : sous-programme des paramètres étendus de la structure de mouvement Modicon 115 Introduction Ce chapitre décrit le bloc MMFE. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Description sommaire 736 Représentation 737 735 MMFE Description sommaire Description de la fonction Le bloc fonction MMFE est spécialement conçu pour exécuter les sous-programmes moveImmed et moveQueue à l'aide de groupes coordonnés. Par1 indique le type de déplacement (MoveType), absolu ou incrémental, tandis que EPar1, à travers EParN, extrait la position pour tous les axes N du groupe coordonné. Ensuite, EparN+1, à travers Epar2N, extrait la vitesse de tous les axes N du groupe coordonné (huit axes maximum). Par2 n'est pas utilisé pour ces sous-programmes de déplacement et aucune valeur n'est renvoyée. En effet, les valeurs sont conservées dans le bloc fonction pour les sous-programmes suivants. 736 31007524 8/2010 MMFE Représentation Symbole Le diagramme suivant représente le bloc MMFE : Description des paramètres Le tableau suivant décrit les paramètres de l'instruction : Paramètres Référence de mémoire d'état Type de données Signification Entrée haute 0x Aucun L'état actif déclenche le sous-programme. Lorsque cette entrée est désactivée, le bloc fonction est réinitialisé et peut être de nouveau exécuté. Partie haute 4x INT, UINT Adresse de la table de communication du registre MMFSTART 200. Elle correspond normalement à 401001. Cette adresse peut être configurée en modifiant le fichier MMFSTART.CFG sur le contrôleur QUANTUM SERCOS. Partie médiane 4x INT, UINT Ce registre pointe vers un bloc de registres définissant tous les arguments et programmes d'un appel de sous-programme générique. Les deux derniers registres servent au contrôle d'état. Partie basse 4x INT L'entier saisi dans la partie basse indique la longueur de la table. Dans le cas présent, le nombre de registres de la table doit être égal à 47. Sortie haute 0x Aucun Activée lorsque l'appel de sous-programme a été réalisé sans erreur. Sortie médiane 0x Aucun Activée lorsque l'appel de sous-programme a été réalisé et qu'un code d'erreur est généré dans le registre 4xxx38. Sortie basse 0x Aucun Activée lorsque la longueur du registre n'est pas égale à 47. 31007524 8/2010 737 MMFE Registres Le tableau suivant décrit les registres de l'instruction : 738 Registre Type de données Description 4xxxxx Entier court Numéro du sous-programme à exécuter 4xxxx1 Entier court ID de l'axe du sous-programme 4xxxx2 Entier non signé Premier paramètre du sous-programme 4xxxx4 Entier non signé Second paramètre du sous-programme 4xxxx6 Nb à virgule flottante Troisième paramètre du sous-programme 4xxxx8 Nb à virgule flottante Quatrième paramètre du sous-programme 4xxx10 Nb à virgule flottante Troisième paramètre du sous-programme 4xxx12 Nb à virgule flottante Quatrième paramètre du sous-programme 4xxx14 Nb à virgule flottante Troisième paramètre du sous-programme 4xxx16 Nb à virgule flottante Quatrième paramètre du sous-programme 4xxx18 Nb à virgule flottante Troisième paramètre du sous-programme 4xxx20 Nb à virgule flottante Quatrième paramètre du sous-programme 4xxx22 Nb à virgule flottante Troisième paramètre du sous-programme 4xxx24 Nb à virgule flottante Quatrième paramètre du sous-programme 4xxx26 Nb à virgule flottante Troisième paramètre du sous-programme 4xxx28 Nb à virgule flottante Quatrième paramètre du sous-programme 4xxx30 Nb à virgule flottante Troisième paramètre du sous-programme 4xxx32 Nb à virgule flottante Quatrième paramètre du sous-programme 4xxx34 Nb à virgule flottante Troisième paramètre du sous-programme 4xxx36 Nb à virgule flottante Quatrième paramètre du sous-programme 4xxx38 Entier court Code d'erreur généré par le sous-programme 4xxx39 Entier non signé Première valeur renvoyée par le sous-programme 4xxx41 Nb à virgule flottante Seconde valeur renvoyée par le sous-programme 4xxx43 Nb à virgule flottante Troisième valeur renvoyée par le sous-programme 4xxx45 Etat de la fonction Numéro de l'état de fonctionnement courant 4xxx47 Nombre d'états Nombre d'entrées d'état actuel 31007524 8/2010 MMFI 31007524 8/2010 MMFI : bloc d'initialisation de la structure de mouvement Modicon 116 Introduction Ce chapitre décrit le bloc MMFI. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Description sommaire 740 Représentation 741 739 MMFI Description sommaire Description de la fonction Ce bloc fonction définit la table de registres de communication MMFSTART. Cette table démarre à 41000 (longueur 200). Le bloc devient actif par l'entrée 1 et vérifie la révision dans la table. Informations connexes Pour plus d'informations sur l'utilisation des instructions chargeables de mouvement, consultez le fichier relatif aux instructions chargeables, MMFStart pour ProWORX 32, situé dans le dossier Programs\Lib\Quantum du CD-ROM d'installation de ProWORX 32. 740 31007524 8/2010 MMFI Représentation Symbole Le diagramme suivant représente le bloc MMFI : Description des paramètres Le tableau suivant décrit les paramètres de l'instruction : 31007524 8/2010 Paramètres Référence de mémoire d'état Type de données Signification Entrée haute 0x Aucun L'état actif déclenche la fonction de vérification de la révision MMFSTART. Partie médiane 4x INT, UINT Pointe vers un bloc contenant 200 registres constituant la zone de communication MMFSTART. Cette adresse correspond normalement à 401001, mais peut être modifiée en configurant le fichier MMFSTART sur l'automate SERCOS. Partie basse 4x INT L'entier saisi dans la partie basse indique la longueur de la table. Dans le cas présent, le nombre de registres de la table doit être égal à 200. Sortie haute 0x Aucun Renvoie l'état de l'entrée haute. Sortie basse 0x Aucun Activée lorsque la longueur du registre n'est pas égale à 200. 741 MMFI Registres Le tableau suivant montre les registres de l'instruction : Registre 742 Informations Type de Description données base+001:002 RingControl UDINT Indique l'activation, l'arrêt, le maintien, etc. base+003 WatchDogCont INT Utilisé par le contrôleur et l'automate pour s'assurer que l'autre est autorisé. base+004 Debug INT Utilisé pour les messages de débogage en sortie. base+005 SubNumber INT Indique le numéro du sous-programme. base+006 AxisID INT Applique le sous-programme à cet axe de mouvement. base+007:010 Paramètres 1 et 2 UDINT Indique les paramètres de ce sousprogramme (deux entiers). base+011:042 Paramètres 3 à 18 REAL Indique les paramètres de ce sousprogramme (16 nombres à virgule flottante). base+043:050 (Réservé) (huit mots) base+051:066 SA1..8Control UDINT Indique les bits de contrôle pour chaque axe SERCOS. base+067:074 IA1..4Control UDINT Indique les bits de contrôle pour chaque axe imaginaire. base+075:082 CS1..4Control UDINT Indique les bits de contrôle pour chaque groupe coordonné. base+083:090 FS1..4Control UDINT Indique les bits de contrôle pour chaque groupe suiveur. base+091 USubNumber INT Indique le numéro du sous-programme utilisateur. base+092 UAxisID INT Applique le sous-programme utilisateur à cet axe de mouvement. base+93:096 UParameter1...2 UDINT Indique les paramètres utilisateur de ce sous-programme (deux entiers). base+97:100 UParameter3...4 REAL Indique les paramètres utilisateur de ce sous-programme (deux nombres à virgule flottante). base+101:102 RingStatus UDINT Indique le défaut, l'activation, le maintien, la fin de profil, la mise en position. base+103 WatchDogState INT Renvoie ce qui est écrit dans WatchDogCont. base+104 NumberOfAxes INT Indique le nombre d'axes SERCOS configurés. base+105 FaultAxis INT Indique l'axe défaillant. 31007524 8/2010 MMFI 31007524 8/2010 Registre Informations Type de Description données base+106 FaultCode INT Indique le défaut. base+107 WarnAxis INT Indique l'axe qui pose problème. base+108 WarnCode INT Indique le message d'avertissement qui est apparu. base+109 SubNumEcho INT Renvoie SubNumber lorsque le sousprogramme est exécuté. base+110 AxisIDEcho INT Renvoie AxisID. base+111 Erreur INT Indique le numéro de l'erreur de mouvement du sous-programme. base+112:113 Return1 UDINT Indique la valeur renvoyée par le sousprogramme (1 entier). base+114:117 Return2...3 REAL Indique la valeur renvoyée par le sousprogramme (deux nombres à virgule flottante). base+118 Revision INT Indique le numéro de révision de l'interface. base+119:134 SA1..8Position REAL Indique la position de huit axes SERCOS. base+135:142 IA1..4Position REAL Indique la position de quatre axes imaginaires. base+143:150 RA1..4Position REAL Indique la position de quatre axes distants. base+151:166 SA1..8Status UDINT Indique les bits d'état pour chaque axe SERCOS. base+167:174 IA1..45Status UDINT Indique les bits d'état pour chaque axe imaginaire. base+175:182 CS1..45Status UDINT Indique les bits d'état pour chaque groupe coordonné. base+183:190 FS1..45Status UDINT Indique les bits d'état pour chaque groupe suiveur. base+191 USubNumEcho INT Renvoie le SubNumber utilisateur lorsque le sous-programme est exécuté. base+192 UAxisIDEcho INT Renvoie l'AxisID utilisateur. base+193 UError INT Indique le numéro d'erreur de mouvement du sous-programme utilisateur. base+194 UReturn1 UDINT Indique la valeur renvoyée par le sousprogramme utilisateur (1 entier). base+196:199 UReturn2..3 REAL Indique la valeur renvoyée par le sousprogramme utilisateur (deux nombres à virgule flottante). 743 MMFI 744 31007524 8/2010 MMFS 31007524 8/2010 MMFS : bloc de sous-programme de la structure de mouvement Modicon 117 Introduction Ce chapitre décrit le bloc MMFS. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Description sommaire 746 Représentation 747 745 MMFS Description sommaire Description de la fonction Ce bloc fonction exécute un sous-programme MMFSTART à l'aide de retours et de paramètres standard. Il peut être utilisé pour exécuter n'importe quel sousprogramme standard MMFSTART, excepté les déplacements vers des groupes coordonnés. Ces sous-programmes offrent une interface commune aux lecteurs SERCOS. Informations connexes Pour plus d'informations sur l'utilisation des instructions chargeables de mouvement, consultez le fichier relatif aux instructions chargeables, MMFStart pour ProWORX 32, situé dans le dossier Programs\Lib\Quantum du CD-ROM d'installation de ProWORX 32. 746 31007524 8/2010 MMFS Représentation Symbole Le diagramme suivant représente le bloc MMFS : Description des paramètres Le tableau suivant décrit les paramètres de l'instruction : 31007524 8/2010 Paramètres Référence Type de de mémoire données d'état Signification Entrée haute 0x Aucun L'état actif déclenche le sous-programme. Lorsque cette entrée est désactivée, le bloc fonction est réinitialisé et peut être de nouveau exécuté. Partie haute 4x INT, UINT Adresse de la table de communication du registre MMFSTART 200. Elle correspond normalement à 401001. Cette adresse peut être configurée en modifiant le fichier MMFSTART.CFG sur l’automate QUANTUM SERCOS. Partie médiane 4x INT, UINT Ce registre pointe vers un bloc de registres définissant tous les arguments et programmes d'un appel de sous-programme générique. Les deux derniers registres servent au contrôle d'état. 747 MMFS Paramètres Référence Type de de mémoire données d'état Signification Partie basse 4x INT L'entier saisi dans la partie basse indique la longueur de la table. Dans le cas présent, le nombre de registres de la table doit être égal à 19. Sortie haute 0x Aucun Activée lorsque l'appel du sous-programme a été réalisé sans erreur. Remarque : Les sorties haute et médiane sont réinitialisées lorsque l'entrée haute est désactivée. Sortie médiane 0x Aucun Activée lorsque l'appel du sous-programme a été réalisé et qu'un code d'erreur est généré dans le registre 4xxx10. Sortie basse 0x Aucun Activée lorsque la longueur du registre n'est pas égale à 19. Registres Le tableau suivant décrit les registres de l'instruction : 748 Registre Type de données Description 4xxxxx Entier court Numéro du sous-programme à exécuter 4xxxx1 Entier court ID de l'axe du sous-programme 4xxxx2 Entier non signé Premier paramètre du sous-programme 4xxxx4 Entier non signé Second paramètre du sous-programme 4xxxx6 Nb à virgule flottante Troisième paramètre du sous-programme 4xxxx8 Nb à virgule flottante Quatrième paramètre du sous-programme 4xxx10 Entier court Code d'erreur généré par le sous-programme 4xxx11 Entier non signé Première valeur renvoyée par le sous-programme 4xxx13 Nb à virgule flottante Seconde valeur renvoyée par le sous-programme 4xxx15 Nb à virgule flottante Troisième valeur renvoyée par le sous-programme 4xxx17 Entier court Numéro de l'état de fonctionnement courant 4xxx18 Entier court Nombre d'entrées d'état actuel 31007524 8/2010 MOVE 31007524 8/2010 MOVE : déplacement absolu 118 Introduction Ce chapitre décrit le bloc MOVE. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Description sommaire 750 Représentation 751 749 MOVE Description sommaire Description de la fonction Ce bloc fonction effectue un déplacement absolu immédiat MMFStart sur l'axe spécifié. La vitesse et la position sont indiquées dans la table correspondante. Informations connexes Pour plus d'informations sur l'utilisation des instructions chargeables de mouvement, consultez le fichier relatif aux instructions chargeables, MMFStart pour ProWORX 32, situé dans le dossier Programs\Lib\Quantum du CD-ROM d'installation de ProWORX 32. 750 31007524 8/2010 MOVE Représentation Symbole Le diagramme suivant représente le bloc MOVE : Description des paramètres Le tableau suivant décrit les paramètres de l'instruction : 31007524 8/2010 Paramètres Référence Type de de mémoire données d'état Signification Entrée haute 0x Aucun L'état actif déclenche le déplacement incrémental. Lorsque cette entrée est désactivée, le bloc fonction est réinitialisé et peut être de nouveau exécuté. Partie haute 4x INT, UINT Adresse de la table de communication du registre MMFSTART 200. Elle correspond normalement à 401001. Cette adresse peut être configurée en modifiant le fichier MMFSTART.CFG sur le contrôleur QUANTUM SERCOS. Partie médiane 4x INT, UINT Ce registre pointe vers un bloc de registres définissant tous les arguments de la configuration. Les deux derniers registres servent au contrôle d'état. 751 MOVE Paramètres Référence Type de de mémoire données d'état Signification Partie basse 4x INT L'entier saisi dans la partie basse indique la longueur de la table. Dans le cas présent, le nombre de registres de la table doit être égal à 8. Sortie haute 0x Aucun Activée lorsque le démarrage du déplacement a été réalisé sans erreur. Remarque : Les sorties haute et médiane sont réinitialisées lorsque l'entrée haute est désactivée. Sortie médiane 0x Aucun Activée lorsque le démarrage du déplacement n'a pas été réalisé et qu'un code d'erreur est généré dans le registre 4xxxx5. Sortie basse Aucun Activée lorsque la longueur du registre n'est pas égale à 8. 0x Registres Le tableau suivant décrit les registres de l'instruction : Registre 752 Type de données Description 4xxxxx Entier court ID de l'axe du déplacement absolu 4xxxx2 Nb à virgule flottante Position cible du déplacement absolu. 4xxxx3 Nb à virgule flottante Vitesse du déplacement absolu 4xxxx5 Entier court Erreur générée suite à une tentative de démarrage de déplacement 4xxxx6 Entier court Numéro de l'état de fonctionnement courant 4xxxx7 Entier court Nombre d'entrées d'état actuel 31007524 8/2010 MRTM : module de transfert à registres multiples 31007524 8/2010 MRTM : module de transfert à registres multiples 119 Introduction Ce chapitre décrit l'instruction MRTM. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 754 Représentation 755 Description des paramètres 757 753 MRTM : module de transfert à registres multiples Description sommaire Description de la fonction NOTE : Cette instruction n'est disponible que si vous avez décompacté et installé les instructions chargeables DX. Vous trouverez de plus amples informations dans Installation des instructions chargeables DX, page 79. L'instruction MRTM est utilisée pour transférer des blocs de registres de sortie depuis la table des programmes vers le bloc des commandes, un groupe de registres de sortie. Afin de vérifier chaque transfert de bloc, un écho des données contenues dans le premier registre de sortie est retourné dans un registre d'entrée. 754 31007524 8/2010 MRTM : module de transfert à registres multiples Représentation Symbole Représentation de l'instruction 31007524 8/2010 755 MRTM : module de transfert à registres multiples Description des paramètres Description des paramètres de l'instruction Paramètres Référence de Type de mémoire données d'état Signification Entrée haute 0x, 1x Aucun Activée = déclenche l'opération Entrée médiane 0x, 1x Aucun Activée = un bloc d'instructions est transféré, le pointeur de la table de contrôle est incrémenté par la valeur de la "longueur" Entrée basse 0x, 1x Aucun Activée = réinitialise Table des programmes (partie haute) 0x, 1x, 3x, 4x INT, UINT, WORD Premier registre de la table des programmes. Le chiffre 4 est considéré comme étant le chiffre de poids fort. Table de contrôle (partie médiane) 3x, 4x INT, UINT, WORD Premier registre de la table de contrôle. Le chiffre 4 est considéré comme étant le chiffre de poids fort. INT, UINT Nombre de registres transférés depuis la table des programmes au cours de chaque transfert, compris entre 1 et 127 Longueur (partie basse) 756 Sortie haute 0x Aucun Donne une image de l'état de l'entrée haute Sortie médiane 0x Aucun Le bloc d'instructions est transféré dans le bloc des commandes (ne reste actif que jusqu'à la fin du cycle en cours). Sortie basse 0x Aucun Activée = valeur du pointeur ≥ fin de la table 31007524 8/2010 MRTM : module de transfert à registres multiples Description des paramètres Mode de fonctionnement MRTM transfère jusqu'à 127 registres de blocs successifs depuis une table de blocs de registres vers une zone de registres de sortie de la taille d'un bloc. Le bloc fonction MRTM commande l'opération du module de la manière suivante : 31007524 8/2010 Si l'alimentation est appliquée à ... Alors ... Entrée haute Le bloc fonction est activé pour le transfert des données. Note : Au démarrage initial, l'alimentation doit être appliquée à l'entrée basse. Entrée médiane Le bloc fonction tente le transfert d'un bloc d'instructions. Avant l'exécution d'un transfert, le registre d'écho est évalué. Le bit de poids fort (BPF) du registre d'écho n'est pas évalué, seuls les bits de 0 à 14 le sont. Un écho incorrect correspond à une condition d'empêchement du transfert. Si un transfert est autorisé, un bloc d'instructions est transféré depuis le début de la table vers le pointeur de table. Le pointeur de la table de commande est alors avancé. Si la nouvelle valeur du pointeur est supérieure ou égale à la fin de la table, la sortie basse est activée. Une valeur du pointeur de table inférieure à la fin de la table désactive la sortie. Entrée basse Le bloc fonction est remis à zéro. Le pointeur de la table de commande est rechargé par le démarrage de la valeur des commandes depuis l'en–tête de la table des programmes 757 MRTM : module de transfert à registres multiples Description des paramètres de l'incrémentation d'étape (entrée médiane) Lorsque l'alimentation est appliquée, cette entrée tente le transfert d'un bloc d'instructions. Avant l'exécution d'un transfert, le registre d'écho est évalué. Le bit de poids fort (BPF) du registre d'écho n'est pas évalué, seuls les bits 0 à 14 le sont. Un écho incorrect correspond à une condition d'empêchement du transfert. Si un transfert est autorisé, un bloc d'instructions est transféré depuis la table des programmes commençant au pointeur de table. Le pointeur de la table de commande est ensuite incrémenté de la valeur "Longueur" (affichée en partie basse). NOTE : Le bloc fonction MRTM est conçu pour valider les indications d'erreur venant des modules d'E/S, lesquelles donnent une image des commandes valides à l'automate, mais mettent un bit à 1 pour indiquer qu'une erreur est survenue. Cette méthode d'indication d'erreur est commune aux produits de transmission et à la plupart des autres modules d'E/S. En utilisant un module rapportant d'une autre manière une condition d'erreur, en particulier si l'écho reçu n'est pas un écho de commande valide, il faut prendre un soin particulier à l'écriture du gestionnaire d'erreur car la logique de schéma à contacts qui détecte l'erreur est activée. Une erreur à ce niveau peut être le résultat d'un verrouillage ou de tout autre mauvais fonctionnement de MRTM. Description des paramètres de la remise à zéro de pointeur (entrée basse) Lorsque l'alimentation est appliquée à cette entrée, le bloc fonction est remis à zéro. Le pointeur de la table de commande est rechargé par le début de la valeur des commandes depuis l'en–tête de la table des programmes. 758 31007524 8/2010 MSPX (Seriplex) 31007524 8/2010 MSPX (Seriplex) 120 Introduction Ce chapitre décrit l'instruction MSPX. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Description sommaire 760 Représentation 761 759 MSPX (Seriplex) Description sommaire Description de la fonction L'instruction MSPX permet de lire et d'écrire des bits dans les registres de l'unité de base. La partie haute de l'instruction MSPX représente le numéro de la sous-fonction interne. Vous pouvez affecter à cette partie une valeur constante décimale égale à 32 ou un registre 4xxxx contenant la valeur 32. La partie médiane représente l'emplacement du registre 4xxxx de départ pour l'unité de base de l'interface SERIPLEX-MOMENTUM. La partie basse est interprétée comme décalage numérique depuis 3000 indiquant le premier registre d'entrée 3xxxx affecté à l'unité de base de l'interface. La valeur de la partie basse indique l'emplacement du registre d'état de l'unité de base. 760 31007524 8/2010 MSPX (Seriplex) Représentation Symbole Représentation de l'instruction Description des paramètres Description des paramètres de l'instruction 31007524 8/2010 Paramètres Type de Signification Référence de mémoire données d'état Entrée haute 0x, 1x Aucun L'entrée d'activation/désactivation du bloc active et désactive le fonctionnement du bloc MSPX. Lorsque la logique associée est vraie, l'entrée haute est activée et les instructions du bloc sont exécutées. Les valeurs des registres d'entrée et de sortie de l'unité ne sont pas affectées par l'activation ou la désactivation du bloc. Entrée médiane 0x, 1x Aucun L'entrée Marche/Arrêt du bus permet de régler le fonctionnement du bus Seriplex par le bit de marche/arrêt à l'intérieur du registre de contrôle de l'unité de base. Le bit de marche/arrêt est mis à 1 lorsque la logique associée est vraie et à 0 lorsqu'elle est fausse. Les paramètres de cette entrée ne doivent pas être modifiés lorsqu'elle est activée. Le bit de marche/arrêt entraînerait un défaut de configuration. 761 MSPX (Seriplex) Paramètres Référence Type de Signification de mémoire données d'état 32 (partie haute) INT, UINT Représente le numéro de sous-fonction interne. Vous pouvez affecter à cette partie une valeur constante décimale égale à 32 ou un registre 4xxxx contenant la valeur 32. 4x INT, UINT Représente l'emplacement du registre 4xxxx de départ pour l'unité de base de l'interface SERIPLEX-MOMENTUM. décalage 3x (partie basse) INT, UINT Interprété comme décalage numérique à partir de 3000, indiquant le premier registre d'entrée 3xxxx affecté à l'unité de base de l'interface. La valeur de la partie basse indique l'emplacement du registre d'état de l'unité de base. Sortie haute 0x Aucun La sortie de l'indicateur de marche du bus indique si le bus Seriplex est en marche ou non. Si le bit de marche du bus est à l'état actif, la sortie est vraie et le bus Seriplex fonctionne normalement. Si ce bit est à l'état repos, la sortie est fausse. Sortie médiane 0x Aucun La sortie Défaut indique si l'instruction MSPX a subi un défaut autre qu'un défaut de configuration. Ce cas se produit si l'un des registres d'état suivants est à l'état actif : défaut de bus (bit 3), défaut MOMENTUM (bit 4), erreur CDR (bit 5). Il est possible d'obtenir la description détaillée du défaut détecté en lisant le registre d'état de l'unité de base. Sortie basse 0x Aucun La sortie Erreur de configuration indique qu'une erreur de configuration est survenue, et son état est présenté dans le registre d'état de l'unité de base. Lorsque le bit de défaut de configuration est à l'état actif, la sortie devient vraie, indiquant qu'une tentative incorrecte a été effectuée pendant l'écriture dans le registre de contrôle de l'unité de base. registre (partie médiane) 762 31007524 8/2010 MSTR : maître 31007524 8/2010 MSTR : maître 121 Introduction Ce chapitre décrit l'instruction MSTR. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 764 Représentation 765 Description des paramètres 768 Commande MSTR Ecrire 772 Commande MSTR LIRE 774 Commande MSTR Lire statistiques locales 776 Commande MSTR Supprimer statistiques locales 778 Commande MSTR Ecrire données globales 780 Commande MSTR Lire données globales 781 Commande MSTR Lire statistiques distantes 782 Commande MSTR Supprimer statistiques distantes 784 Commande MSTR Etat de diffusion des E/S 786 Commande MSTR Réinitialiser module optionnel 788 Commande MSTR Lire CTE (Table d'extension de configuration) 790 Commande MSTR Ecrire CTE (Table d'extension de configuration) 792 Statistiques du réseau Modbus Plus 794 Statistiques du réseau Ethernet TCP/IP 799 Erreurs d'exécution 800 Codes d'erreur Modbus Plus et Ethernet SY/MAX 801 Codes d'erreur spécifiques à SY/MAX 803 Codes d'erreur Ethernet TCP/IP 805 Codes d'erreur CTE pour Ethernet SY/MAX et Ethernet TCP/IP 808 763 MSTR : maître Description sommaire Description de la fonction Les automates gérant les fonctionnalités des communications en réseau sur Modbus Plus et Ethernet disposent d'une instruction spéciale MSTR (maître) avec laquelle les abonnés du réseau peuvent déclencher des transactions de message. L'instruction MSTR permet de déclencher l'une des 12 opérations de communication possibles sur le réseau. z Commande MSTR Lire z Commande MSTR Ecrire z Commande MSTR Lire statistiques locales z Commande MSTR Effacer statistiques locales z Commande MSTR Ecrire données globales z Commande MSTR Lire données globales z Commande MSTR Lire statistiques distantes z Commande MSTR Effacer statistiques distantes z Commande MSTR Etat de diffusion des E/S z Commande MSTR Réinitialiser module optionnel z Commande MSTR Lire CTE (Extension de config) z Commande MSTR Ecrire CTE (Extension de config) 764 31007524 8/2010 MSTR : maître Représentation Symbole Représentation de l'instruction Description des paramètres Pour plus d'informations, reportez-vous à la section Description des paramètres, page 768. Paramètres Référence de Type de mémoire données d'état Signification Entrée haute 0x, 1x Aucun Activée = déclenche l'opération MSTR sélectionnée Entrée médiane 0x, 1x Aucun Activée = termine l'opération MSTR en cours Entrée basse Aucun Remarque : Disponible uniquement pour les M1E. Activée = le port TCP restera ouvert Bloc de contrôle 4x (partie haute) INT, UINT Bloc de contrôle (le premier de plusieurs registres de maintien successifs, en fonction du réseau) 4x INT, UINT Zone de données (source ou cible, selon la commande sélectionnée) Zone de données (partie médiane) 31007524 8/2010 0x, 1x 765 MSTR : maître Paramètres Référence de Type de mémoire données d'état Longueur (partie basse) Signification INT Longueur de la zone de données (nombre maximum de registres), comprise entre 1 et 100 Sortie haute 0x Aucun Activée tant que l'instruction est active (donne une image de l'état de l'entrée haute) Sortie médiane 0x Aucun Activée si la commande MSTR est arrêtée avant achèvement (donne une image de l'état de l'entrée médiane) Sortie basse 0x Aucun Activée = opération réussie Entrée basse Dans tous les exécutables 984LL, versions 1.20 et ultérieures, l'alimentation arrive par l'entrée basse du bloc MSTR. Associée à l'activation de l'entrée haute, ce type d'alimentation permet de garder la connexion TCP ouverte. Une fois que la connexion est établie, seuls les commandes Modbus et les paquets de réponses sont transmis sur le réseau Ethernet. Toutefois, vous ne pouvez pas indiquer la période de répétition. La transmission se fait aussi vite que la scrutation et le serveur cible peut s'adapter. Les modifications dynamiques à destination du bloc de contrôle ne sont pas acceptées tant que l'entrée active (haute) n'a pas fait l'objet d'impulsions. Exemple de bloc fonction 984LL pour opération à connexion ouverte 766 31007524 8/2010 MSTR : maître Bloc fonction MSTR CEI Une nouvelle fonction a été ajoutée aux exécutables CEI, versions 1.21 et ultérieures : un bit a été défini dans le Slot_ID du EFB TCP_IP_ADR. C'est grâce à ce bit itératif et à la commande TCP/IP que la connexion TCP reste ouverte. Une fois que la connexion est établie, seuls les commandes Modbus et les paquets de réponses sont transmis sur le réseau Ethernet. La seule différence réside dans le fait que vous ne pouvez pas indiquer la période de répétition. La transmission se fait aussi vite que la scrutation et le serveur cible peut s'adapter. Le Slot_ID du EFB TCP_IP_ADR possède plusieurs utilisations : z z Bit 0 = 0 opération MBP Bit 0 = 1 opération TCP/IP z Bit 1 = 0 Le port TCP se fermera une fois la transaction terminée (comme auparavant). Bit 1 = 1 Le port TCP restera ouvert. z Les bits 2 à 7 sont réservés et doivent restés définis sur 0. z NOTE : Map_idx = 0 pour processeurs Momentum M1E Exemple de EFB CEI pour opération à connexion ouverte : Registre 400050 = 3 hex Cette fonction ne doit être utilisée qu'avec les EFB suivants : z CREAD_REG z CREADREG CWRITE_REG CWRITERREG MBP_MSTR (doit toujours rester actif : ENABLE=1) z z z N'utilisez pas cette fonction avec les EFB suivants : z z z z 31007524 8/2010 READREG WRITEREG READ_REG WRITE_REG 767 MSTR : maître Description des paramètres Mode de fonctionnement L'instruction MSTR permet de déclencher l'une des 12 commandes de communication possibles sur le réseau. Chaque commande est désignée par un code. Quatre instructions MSTR au maximum peuvent être actives en même temps dans un programme en schéma à contacts. Il est possible de programmer plus de 4 MSTR qui seront activées par le flux logique ; étant donné qu'un bloc MSTR actif libère les ressources qu'il a utilisées et est désactivé, la commande MSTR suivante rencontrée dans la logique peut alors être activée. Principales commandes Certaines commandes MSTR sont gérées sur certains réseaux et pas sur d'autres. Code Type de commande Modbus Plus Ethernet TCP/IP Ethernet SY/MAX 1 Ecrire données x x x 2 Lire données x x x 3 Lire statistiques locales x x - 4 Effacer statistiques locales x x - 5 Ecrire base de données globale x - - 6 Lire base de données globale x - - 7 Lire statistiques distantes x x - 8 Effacer statistiques distantes x x - 9 Etat de diffusion des E/S x - - 10 Réinitialisation du module d'option - x x 11 Lire CTE (extension de config) - x x 12 Ecrire CTE (extension de config) - x x Légende 768 x géré - non géré 31007524 8/2010 MSTR : maître Bloc de contrôle (partie haute) Le registre 4x saisi en partie haute est le premier de plusieurs ) registres de sortie (en fonction du réseau comportant le bloc de contrôle du réseau. La structure du bloc de contrôle diffère en fonction du réseau utilisé. z Modbus Plus z Ethernet TCP/IP z Ethernet SY/MAX NOTE : Vous devez comprendre les procédures de routage utilisées par le réseau que vous exploitez lorsque vous programmez une instruction MSTR. Vous trouverez une description détaillée des structures d'itinéraire de routage Modbus Plus dans le Guide de planification et d'installation Modbus Plus. Si vous mettez en oeuvre un routage Ethernet TCP/IP ou SY/MAX, il doit être effectué par des routeurs tiers standard Ethernet IP. Bloc de contrôle de Modbus Plus Le premier des douze registres 4x successifs est saisi dans la partie haute. Les onze registres restants sont implicites. 31007524 8/2010 Registre Contenu Affiché Identifie l'une des neuf commandes MSTR autorisées pour Modbus Plus (1 à 9) Premier implicite Affiche l'état de l'erreur Deuxième implicite Affiche la longueur (nombre de registres transférés) Troisième implicite Affiche les informations dépendantes de la commande MSTR Quatrième implicite Registre de routage 1, utilisé pour désigner l'adresse de l'abonné cible pour une transaction réseau. L'affichage du registre est physiquement mis en oeuvre pour les automates Quantum Cinquième implicite Registre de routage 2 Sixième implicite Registre de routage 3 Septième implicite Registre de routage 4 Huitième implicite Registre de routage 5 Neuvième implicite sans objet Dixième implicite sans objet Onzième implicite sans objet 769 MSTR : maître Registre de routage 1 des automates Quantum (quatrième registre implicite) Pour cibler un module d'option réseau Modbus Plus (NOM) d'une embase d'automate Quantum comme cible d'une instruction MSTR, la valeur de l'octet de poids fort représente l'emplacement physique du NOM ; si par exemple le NOM occupait l'emplacement 7 de l'embase, l'octet de poids fort du registre de routage 1 serait représenté de la manière suivante : Bit Fonction 1à8 Octet de poids fort : indique l'emplacement physique (entre 1 et 16) 9 à 16 Adresse cible : valeur binaire comprise entre 1 et 64 NOTE : Si vous avez créé un programme logique à l'aide d'une instruction MSTR pour un automate 984 et que vous voulez porter celui–ci sur un automate de la série Quantum sans avoir à modifier la valeur de registre de routage 1, assurez–vous que le NOM nº1 est installé dans l'emplacement 1 de l'embase Quantum (et si vous utilisez un NOM nº2, vérifiez qu'il est installé dans l'emplacement 2 de l'embase). Si vous tentez de faire fonctionner l'application portée avec les NOM dans d'autres emplacements sans modifier le registre, une erreur d'état F001 indiquant la partie cible erronée apparaîtra. Bloc de contrôle pour Ethernet TCP/IP Le premier des neuf registres 4x successifs est saisi dans la partie haute. Les huit registres restants sont implicites. 770 Registre Contenu Affiché Identifie l'une des neuf commandes MSTR autorisées pour TCP/IP (1 ... 4, 7, 8, 10 ... 12) Premier implicite Affiche l'état de l'erreur Deuxième implicite Affiche la longueur (nombre de registres transférés) Troisième implicite Affiche les informations dépendantes de la commande MSTR Quatrième implicite Octet de poids faible : adresse d'emplacement du module NOE Octet de poids fort : index de map MBP-to-Ethernet Transporter (MET) Cinquième implicite Octet 4 de l'adresse IP cible 32 bits Sixième implicite Octet 3 de l'adresse IP cible 32 bits Septième implicite Octet 2 de l'adresse IP cible 32 bits Huitième implicite Octet 1 de l'adresse IP cible 32 bits 31007524 8/2010 MSTR : maître Bloc de contrôle pour Ethernet SY/MAX Le premier des sept registres 4x successifs est saisi dans la partie haute. Les six registres restants sont implicites. Registre Contenu Affiché Identifie l'une des neuf commandes MSTR autorisées pour SY/MAX (1, 2, 10 à 12) Premier implicite Affiche l'état de l'erreur Deuxième implicite Affiche la longueur de lecture/écriture (nombre de registres transférés) Troisième implicite Affiche l'adresse de base de lecture/écriture Quatrième implicite Octet de poids faible : adresse d'emplacement du module NOE (par exemple, emplacement 10 = 0A00, emplacement 6 = 0600) Octet de poids fort : index de map MBP-to-Ethernet Transporter (MET) Cinquième implicite Numéro de station cible (ou paramétré à FF hex) Sixième implicite Terminator ( positionner sur FF hex) Zone de données (partie médiane) Le registre 4x saisi en partie médiane est le premier d'un groupe de registres de sortie successifs comportant la zone de données. Pour les commandes fournissant des données au processeur de communication, comme la commande Ecrire, la zone de données est la source des données. Pour les commandes recevant des données du processeur de communication, comme la commande Lecture, la zone de données est la cible des données. Dans le cas des commandes CTE Lire et Ecrire Ethernet, la partie médiane enregistre le contenu de la table d'extension de configuration Ethernet dans une série de registres. 31007524 8/2010 771 MSTR : maître Commande MSTR Ecrire Description sommaire Une commande MSTR Ecrire permet de transférer des données d'un appareil maître source à un appareil esclave cible du réseau. Les opérations de lecture et d'écriture utilisent une seule session de données maître en transmission et peuvent être achevées sur plusieurs cycles. Si vous tentez de programmer la MSTR pour écrire sa propre adresse de station, une erreur sera générée dans le premier registre implicite du bloc de contrôle MSTR. Il est possible de tenter une commande d'écriture vers un registre inexistant de l'équipement esclave. L'esclave détectera cette condition et la rapportera ; ceci peut prendre plusieurs cycles. Mise en œuvre du réseau La commande MSTR Ecrire peut être mise en œuvre sur les réseaux Modbus Plus, Ethernet TCP/IP et Ethernet SY/MAX. Utilisation du bloc de contrôle Dans une commande d'écriture, les registres du bloc de contrôle MSTR (la partie haute) contiennent des informations différentes, fonction du type de réseau que vous utilisez. z Modbus Plus z Ethernet TCP/IP z Ethernet SY/MAX Bloc de contrôle pour Modbus Plus 772 Registre Fonction Contenu Affiché Type de commande 1 = écriture Premier implicite Etat d'erreur Affiche une valeur hex indiquant une erreur MSTR, le cas échéant Deuxième implicite Longueur Nombre de registres à envoyer à l'esclave Troisième implicite Zone de données de l'appareil esclave Spécifie le registre 4x de départ de l'esclave destiné à l'écriture (1 = 40001, 49 = 40049) Du quatrième au huitième implicite Routage 1 à 5 Désigne les adresses 1 à 5 de l'itinéraire de routage ; le dernier octet différent de zéro de l'itinéraire de routage est l'appareil cible 31007524 8/2010 MSTR : maître Bloc de contrôle pour Ethernet TCP/IP Registre Fonction Contenu Affiché Type de commande 1 = écriture Premier implicite Etat d'erreur Affiche une valeur hex indiquant une erreur MSTR : Code d'exception + 3000 : réponse d'exception dont la taille de la réponse est correcte 4001: réponse d'exception dont la taille de la réponse est incorrecte 4001: Lire/Ecrire Deuxième implicite Longueur Nombre de registres à envoyer à l'esclave Troisième implicite Zone de données de l'appareil esclave Spécifie le registre 4x de départ de l'esclave destiné à l'écriture (1 = 40001, 49 = 40049) Quatrième implicite Octet de poids faible Adresse d'emplacement du module adaptateur réseau Du cinquième au huitième implicite Cible Chaque registre contient un des octets de l'adresse IP 32 bits. Bloc de contrôle pour Ethernet SY/MAX 31007524 8/2010 Registre Fonction Contenu Affiché Type de commande 1 = écriture Premier implicite Etat d'erreur Affiche une valeur hex indiquant une erreur MSTR, le cas échéant Deuxième implicite Longueur Nombre de registres à envoyer à l'esclave Troisième implicite Zone de données de l'appareil esclave Spécifie le registre 4x de départ de l'esclave destiné à l'écriture (1 = 40001, 49 = 40049) Quatrième implicite ID de l'emplacement Octet de poids faible : adresse d'emplacement du module adaptateur réseau Quatrième implicite ID de l'emplacement Octet de poids fort : Numéro de station cible Du cinquième au huitième implicite Terminaison FF hex 773 MSTR : maître Commande MSTR LIRE Description sommaire Une commande MSTR Lire transfère les données d'un appareil esclave source déterminé à un appareil maître cible du réseau. Les opérations Lire et Ecrire utilisent une seule session de données maître en transmission et peuvent être achevées sur plusieurs cycles. Si vous tentez de programmer la MSTR pour lire sa propre adresse de station, une erreur sera générée au premier registre implicite du bloc de contrôle MSTR. Il est possible de tenter une commande d'écriture vers un registre inexistant de l'équipement esclave. L'esclave détectera cette condition et la rapportera ; ceci peut prendre plusieurs cycles. Mise en œuvre du réseau La commande MSTR Lire peut être mise en œuvre sur les réseaux Modbus Plus, Ethernet TCP/IP et Ethernet SY/MAX. Utilisation du bloc de contrôle Dans une commande Lire, les registres du bloc de contrôle MSTR (la partie haute) contiennent des informations différentes, en fonction du type de réseau que vous utilisez. z Modbus Plus z Ethernet TCP/IP z Ethernet SY/MAX Bloc de contrôle pour Modbus Plus 774 Registre Fonction Contenu Affiché Type de commande 2 = Lire Premier implicite Etat d'erreur Affiche une valeur hex indiquant une erreur MSTR, le cas échéant Deuxième implicite Longueur Nombre de registres à lire depuis l'esclave Troisième implicite Zone de données de l'appareil esclave Spécifie le registre 4x de départ de l'esclave destiné être lu (1 = 40001, 49 = 40049) Du quatrième au huitième implicite Routage 1 à 5 Désigne les adresses 1 à 5 de l'itinéraire de routage ; le dernier octet différent de zéro de l'itinéraire de routage est l'appareil cible 31007524 8/2010 MSTR : maître Bloc de contrôle pour Ethernet TCP/IP Registre Fonction Contenu Affiché Type de commande 2 = Lire Premier implicite Etat d'erreur Affiche une valeur hex indiquant une erreur MSTR : Code d'exception + 3000 : réponse d'exception dont la taille de la réponse est correcte 4001: réponse d'exception dont la taille de la réponse est incorrecte 4001: Lire/Ecrire Deuxième implicite Longueur Nombre de registres à lire depuis l'esclave Troisième implicite Zone de données de l'appareil esclave Spécifie le registre 4x de départ de l'esclave destiné à être lu (1 = 40001, 49 = 40049) Quatrième implicite Octet de poids fort Adresse d'emplacement du module adaptateur réseau Du cinquième au huitième implicite Cible Chaque registre contient un des octets de l'adresse IP 32 bits Bloc de contrôle pour Ethernet SY/MAX 31007524 8/2010 Registre Fonction Contenu Affiché Type de commande 2 = Lire Premier implicite Etat d'erreur Affiche une valeur hex indiquant une erreur MSTR, le cas échéant Deuxième implicite Longueur Nombre de registres à lire depuis l'esclave Troisième implicite Zone de données de l'appareil esclave Spécifie le registre 4x de départ de l'esclave destiné à être lu (1 = 40001, 49 = 40049) Quatrième implicite ID de l'emplacement Octet de poids faible : adresse d'emplacement du module adaptateur réseau Quatrième implicite ID de l'emplacement Octet de poids fort : numéro de station cible Du cinquième au huitième implicite Terminaison FF hex 775 MSTR : maître Commande MSTR Lire statistiques locales Description sommaire La commande Lire statistiques locales lit des données concernant l'abonné local dans lequel la MSTR a été programmée. Cette commande dure un cycle et ne nécessite aucune session de transmission de données maître. Mise en œuvre du réseau La commande Lire statistiques locales (type 3 dans le registre affiché en partie haute) peut être mise en œuvre dans les réseaux Modbus Plus et Ethernet TCP/IP. Elle n'est pas utilisée avec Ethernet SY/MAX. Les statistiques réseau suivantes sont disponibles. Statistiques du réseau Modbus Plus z Statistiques du réseau Ethernet TCP/IP. z Utilisation du bloc de contrôle Dans une commande Lire statistiques locales, les registres du bloc de contrôle MSTR (la partie haute) contiennent des informations différentes, en fonction du type de réseau que vous utilisez. z Modbus Plus z Ethernet TCP/IP Bloc de contrôle pour Modbus Plus 776 Registre Fonction Contenu Affiché Type de commande 3 Premier implicite Etat d'erreur Affiche une valeur hex indiquant une erreur MSTR, le cas échéant. Deuxième implicite Longueur Partant du décalage, le nombre de mots des statistiques du tableau des statistiques du processeur local ; la longueur doit être > 0 ≤ zone de données. Troisième implicite Décalage Une valeur de décalage relative au premier mot disponible dans le tableau des statistiques du processeur local ; si le décalage est défini à 1, la fonction lit les statistiques à partir du deuxième mot du tableau. Quatrième implicite Routage 1 S'il s'agit du deuxième sur deux abonnés locaux, positionnez l'octet de poids fort à 1. Note : Si votre automate ne gère pas les modules optionnels Modbus Plus (S985 ou NOM), le quatrième registre implicite n'est pas utilisé. 31007524 8/2010 MSTR : maître Bloc de contrôle pour Ethernet TCP/IP 31007524 8/2010 Registre Fonction Contenu Affiché Type de commande 3 Premier implicite Etat d'erreur Affiche une valeur hex indiquant une erreur MSTR, le cas échéant. Deuxième implicite Longueur Partant du décalage, le nombre de mots des statistiques du tableau des statistiques du processeur local ; la longueur doit être > 0 ≤ zone de données. Troisième implicite Décalage Une valeur de décalage relative au premier mot disponible dans le tableau des statistiques du processeur local, si le décalage est défini à 1, la fonction lit les statistiques à partir du deuxième mot du tableau. Quatrième implicite ID de l'emplacement Octet de poids faible : adresse d'emplacement du module adaptateur réseau. Du cinquième au huitième implicite Sans objet. 777 MSTR : maître Commande MSTR Supprimer statistiques locales Description sommaire La commande Supprimer statistiques locales supprime les statistiques relatives à l'abonné local (dans lequel la MSTR a été programmée). Cette commande dure un cycle et ne nécessite aucune session de transmission de données maître. NOTE : Lorsque vous envoyez la commande Supprimer statistiques locales, seuls les mots 13 à 22 du tableau des statistiques sont supprimés. Mise en œuvre du réseau La commande Supprimer statistiques locales (type 4 dans le registre affiché en partie haute) peut être mise en œuvre dans les réseaux Modbus Plus et Ethernet TCP/IP. Elle n'est pas utilisée avec Ethernet SY/MAX. Les statistiques réseau suivantes sont disponibles. Statistiques du réseau Modbus Plus z Statistiques du réseau Ethernet TCP/IP z Utilisation du bloc de contrôle Dans une commande Supprimer statistiques locales, les registres du bloc de contrôle MSTR (la partie haute) diffèrent en fonction du type de réseau que vous utilisez. z Modbus Plus z Ethernet TCP/IP Bloc de contrôle pour Modbus Plus Registre Fonction Contenu Affiché Type de commande 4 Premier implicite Etat d'erreur Affiche une valeur hex indiquant une erreur MSTR, le cas échéant. Deuxième implicite Réservé. Troisième implicite Réservé. Quatrième implicite 778 Routage 1 S'il s'agit du deuxième sur deux abonnés locaux, positionnez l'octet de poids fort à 1. Note : Si votre automate ne gère pas les modules optionnels Modbus Plus (S985 ou NOM), le quatrième registre implicite n'est pas utilisé. 31007524 8/2010 MSTR : maître Bloc de contrôle pour Ethernet TCP/IP Registre Fonction Contenu Affiché Type de commande 4 Premier implicite Etat d'erreur Affiche une valeur hex indiquant une erreur MSTR, le cas échéant. Deuxième implicite Réservé. Troisième implicite Réservé. Quatrième implicite Du cinquième au huitième implicite 31007524 8/2010 ID de l'emplacement Octet de poids faible : adresse d'emplacement du module adaptateur réseau. Réservé. 779 MSTR : maître Commande MSTR Ecrire données globales Description sommaire La commande Ecrire données globales transfère des données vers le processeur de communications de l'abonné actuel de sorte qu'elles peuvent être envoyées sur le réseau lorsque l'abonné obtient le jeton. Tous les abonnés reliés par le réseau local peuvent recevoir ces données. Cette commande dure un cycle et ne nécessite aucune session de transmission de données maître. Mise en œuvre du réseau La commande Ecrire données globales (type 5 dans le registre affiché de la partie haute) ne peut être mise en œuvre que dans les réseaux Modbus Plus. Utilisation du bloc de contrôle Les registres du bloc de contrôle (la partie haute) de la MSTR sont utilisés dans une commande Ecrire données globales. Registre Fonction Contenu Affiché Type de commande 5 Premier implicite Etat d'erreur Affiche une valeur hex indiquant une erreur MSTR, le cas échéant. Deuxième implicite Longueur Indique le nombre de registres de la zone de données à envoyer au processeur de communication ; la valeur de la longueur doit être ≤ 32 et ne doit pas dépasser la taille de la zone de données. Troisième implicite Quatrième implicite 780 Réservé. Routage 1 S'il s'agit du deuxième sur deux abonnés locaux, positionnez l'octet de poids fort à 1. Note : Si votre automate ne gère pas les modules optionnels Modbus Plus (S985 ou NOM), le quatrième registre implicite n'est pas utilisé. 31007524 8/2010 MSTR : maître Commande MSTR Lire données globales Description sommaire La commande Lire données globales lit les données du processeur de communications de tout abonné relié au réseau local qui envoie des données globales. Cette commande peut occuper plusieurs cycles si les données globales ne sont pas disponibles tout de suite sur l'abonné en question. Si les données globales sont disponibles, la commande s'achève en un seul cycle. Aucune session de transmission maître n'est nécessaire. Mise en œuvre du réseau La commande Lire données globales (type 6 dans le registre affiché de la partie haute) ne peut être mise en œuvre que dans les réseaux Modbus Plus. Utilisation du bloc de contrôle Les registres du bloc de contrle MSTR (la partie haute) sont utilisés dans une commande Lire données globales. 31007524 8/2010 Registre Fonction Contenu Affiché Type de commande 6 Premier implicite Etat d'erreur Affiche une valeur hex indiquant une erreur MSTR, le cas échéant. Deuxième implicite Longueur Indique le nombre de mots de données globales requis par le processeur de communication désigné par le paramètre de routage 1 ; la longueur doit être > 0 ≤ 32 et ne doit pas dépasser la taille de la zone de données. Troisième implicite Mots disponibles Contient le nombre de mots disponibles sur l'abonné en question ; la valeur est mise à jour automatiquement par logiciel interne. Quatrième implicite Routage 1 L'octet de poids faible indique l'adresse de l'abonné dont les données globales seront retournées (une valeur entre 1 et 64) ; s'il s'agit du deuxième parmi deux abonnés locaux, positionnez l'octet de poids fort à la valeur 1. Note :Si votre automate ne gère pas les modules optionnels Modbus Plus (S985 ou NOM), l'octet de poids fort du quatrième registre implicite n'est pas utilisé et ses bits doivent tous être à 0. 781 MSTR : maître Commande MSTR Lire statistiques distantes Description sommaire La commande Lire statistiques distantes lit les données relatives aux abonnés décentralisés du réseau. Cette commande peut durer plusieurs cycles et ne nécessite aucune session de transmission de données maître. Mise en œuvre du réseau La commande Lire statistiques distantes (type 7 dans le registre affiché en partie haute) peut être mise en œuvre dans les réseaux Modbus Plus et Ethernet TCP/IP. Elle n'est pas utilisée avec Ethernet SY/MAX. Utilisation du bloc de contrôle Dans une commande Lire statistiques distantes, les registres du bloc de contrôle MSTR (la partie haute) contiennent des informations différentes, en fonction du type de réseau que vous utilisez. z Modbus Plus z Ethernet TCP/IP Bloc de contrôle pour Modbus Plus Registre Fonction Contenu Affiché Type de commande 7 Premier implicite Etat d'erreur Affiche une valeur hex indiquant une erreur MSTR, le cas échéant. Deuxième implicite Longueur A partir d'un décalage, le nombre de mots de statistiques à lire sur un abonné décentralisé ; la longueur doit être > 0 ≤ au nombre total des statistiques disponibles (54) et ne doit pas dépasser la taille de la zone de données. Troisième implicite Décalage Indique une valeur de décalage relative au premier mot disponible du tableau des statistiques, la valeur ne doit pas dépasser le nombre de mots des statistiques disponibles. Du quatrième au huitième implicite Routage 1 à 5 Désigne les adresses 1 à 5 de l'itinéraire de routage ; le dernier octet différent de zéro de l'itinéraire de routage est l'appareil cible. Le processeur de communication décentralisé renvoie toujours son tableau entier de statistiques lorsqu'une requête est effectuée, même si la requête est inférieure au tableau complet. L'instruction MSTR copie ensuite uniquement le nombre de mots que vous avez demandés vers les registres 4x indiqués. 782 31007524 8/2010 MSTR : maître Bloc de contrôle pour Ethernet TCP/IP 31007524 8/2010 Registre Fonction Contenu Affiché Type de commande 7 Premier implicite Etat d'erreur Affiche une valeur hex indiquant une erreur MSTR, le cas échéant. Deuxième implicite Longueur Partant du décalage, le nombre de mots des statistiques du tableau des statistiques du processeur local ; la longueur doit être > 0 ≤ zone de données. Troisième implicite Décalage Une valeur de décalage relative au premier mot disponible dans le tableau des statistiques du processeur local, si le décalage est défini à 1, la fonction lit les statistiques à partir du deuxième mot du tableau. Quatrième implicite Octet de poids faible Adresse d'emplacement du module adaptateur réseau. Du cinquième au huitième implicite Cible Chaque registre contient un des octets de l'adresse IP 32 bits. 783 MSTR : maître Commande MSTR Supprimer statistiques distantes Description sommaire La commande Supprimer statistiques distantes supprime les statistiques se rapportant à un abonné de réseau distant depuis la zone de données de l'abonné local. Cette commande peut durer plusieurs cycles et utilise une seule session de transmission de données maître. NOTE : Lorsque vous envoyez la commande Supprimer statistiques distantes, seuls les mots 13 à 22 du tableau des statistiques sont supprimés. Mise en œuvre du réseau La commande Supprimer statistiques distantes (type 8 dans le registre affiché de la partie haute) peut être mise en œuvre dans les réseaux Modbus Plus et Ethernet TCP/IP. Elle n'est pas utilisée avec Ethernet SY/MAX. Les statistiques réseau suivantes sont disponibles. Statistiques du réseau Modbus Plus z Statistiques du réseau Ethernet TCP/IP z Utilisation du bloc de contrôle Dans une commande Supprimer statistiques distantes, les registres du bloc de contrôle MSTR (la partie haute) contiennent des informations qui diffèrent selon le type de réseau utilisé. z Modbus Plus z Ethernet TCP/IP Bloc de contrôle pour Modbus Plus Registre Fonction Contenu Affiché Type de commande 8 Premier implicite Etat d'erreur Affiche une valeur hex indiquant une erreur MSTR, le cas échéant. Deuxième implicite Réservé. Troisième implicite Réservé. Du quatrième au huitième implicite 784 Routage 1 à 5 Désigne les adresses 1 à 5 de l'itinéraire de routage ; le dernier octet différent de zéro de l'itinéraire de routage est l'appareil cible. 31007524 8/2010 MSTR : maître Bloc de contrôle pour Ethernet TCP/IP Registre Fonction Contenu Affiché Type de commande 8 Premier implicite Etat d'erreur Affiche une valeur hex indiquant une erreur MSTR, le cas échéant. Deuxième implicite Sans objet Troisième implicite 31007524 8/2010 Quatrième implicite Octet de poids faible Adresse d'emplacement du module adaptateur réseau. Du cinquième au huitième implicite Cible Chaque registre contient un des octets de l'adresse IP 32 bits. 785 MSTR : maître Commande MSTR Etat de diffusion des E/S Description sommaire La commande Etat de diffusion des E/S lit les données sélectionnées dans le tableau de fonctionnement des communications de diffusion des E/S et charge ces données vers les registres 4x indiqués en mémoire d'état. Le tableau de fonctionnement des communications de diffusion des E/S contient 12 mots indexés de 0 à 11 par cette commande MSTR. Mise en œuvre du réseau La commande Etat de diffusion des E/S (type 9 dans le registre affiché de la partie haute) ne peut être mise en œuvre que dans les réseaux Modbus Plus. Utilisation du bloc de contrôle Les registres du bloc de contrôle MSTR (la partie haute) sont utilisés dans une commande Etat de diffusion des E/S : Registre Fonction Contenu Affiché Type de commande 9 Premier implicite Etat d'erreur Affiche une valeur hex indiquant une erreur MSTR, le cas échéant. Deuxième implicite Taille des données Nombre de mots demandés de la table de diffusion des E/S (entre 1 et 12). Troisième implicite Index Premier mot du tableau à lire (entre 0 et 11, où 0 = premier mot de la table de diffusion d'E/S et 11 = le dernier mot du tableau). Quatrième implicite Routage 1 S'il s'agit du deuxième sur deux abonnés locaux, positionnez l'octet de poids fort à 1. Note : Si votre automate ne gère pas les modules optionnels Modbus Plus (S985 ou NOM), le quatrième registre implicite n'est pas utilisé. Données d'état de fonctionnement des communications de diffusion des E/S Le tableau des états des communications de diffusion des E/S contient 12 registres successifs pouvant être indexés dans une commande MSTR comme mots 0 à 11. Chaque bit de chaque mot du tableau représente un aspect du fonctionnement des communications relatif à un abonné spécifique sur le réseau Modbus Plus. 786 31007524 8/2010 MSTR : maître Relation entre les bits et les abonnés du réseau Les bits des mots 0 à 3 représentent le fonctionnement des communications d'entrée globales attendues sur les abonnés 1 à 64. Les bits des mots 4 à 7 représentent l'état de fonctionnement de la sortie d'un abonné spécifique. Les bits des mots 8 à 11 représentent l'état de fonctionnement de l'entrée d'un abonné spécifique : Type d'état Entrée globale Index des mots 0 Relation entre les bits et les abonnés du réseau 1 2 3 Sortie spécifique 4 5 6 7 Entrée spécifique 8 9 10 11 Etat du bit de santé de diffusion des E/S L'état du bit de santé de diffusion des E/S indique l'état actuel de communication de son abonné associé. Un bit de santé est mis à 1 lorsque l'abonné associé accepte des entrées destinées à son groupe de données d'entrée de diffusion des E/S ou apprend qu'un autre abonné a accepté des données de diffusion directe de son groupe de données de sortie de diffusion des E/S. Un bit de santé est effacé lorsque aucune communication n'a eu lieu concernant son groupe de données associées pendant le délai timeout du fonctionnement configuré de diffusion des E/S. Tous les bits de santé sont mis à zéro lors du démarrage de l'automate. Les valeurs du tableau ne sont valides qu'après au moins un cycle de rotation complet du jeton. Le bit de santé d'un abonné donné est toujours à zéro lorsque l'entrée de diffusion des E/S qui lui est associée est à zéro. 31007524 8/2010 787 MSTR : maître Commande MSTR Réinitialiser module optionnel Description sommaire La commande Réinitialiser module optionnel permet à un module optionnel NOE Quantum d'entrer dans un cycle de réinitialisation de son environnement de fonctionnement. Mise en œuvre du réseau La commande Réinitialiser module optionnel (type 10 dans le registre affiché de la partie haute) peut être mise en œuvre sur les réseaux Ethernet TCP/IP et Ethernet SY/MAX, accédés par l'adaptateur réseau adéquat. Les réseaux Modbus Plus ne se servent pas de cette commande. Utilisation du bloc de contrôle Dans une commande Réinitialiser module optionnel, les registres du bloc de contrôle MSTR (la partie haute) diffèrent en fonction du type de réseau que vous utilisez : z Ethernet TCP/IP (voir page 788) z Ethernet SY/MAX (voir page 789) Bloc de contrôle pour Ethernet TCP/IP Registre Fonction Contenu Affiché Type de commande 10 Premier implicite Etat d'erreur Affiche une valeur hex indiquant une erreur MSTR, le cas échéant. Deuxième implicite Sans objet Troisième implicite 788 Quatrième implicite ID de l'emplacement Du cinquième au huitième implicite Sans objet Numéro affiché dans l'octet de poids faible compris entre 1 et 16, indiquant l'emplacement dans l'embase locale où réside le module optionnel. 31007524 8/2010 MSTR : maître Bloc de contrôle pour Ethernet SY/MAX Registre Fonction Contenu Affiché Type de commande 10 Premier implicite Etat d'erreur Affiche une valeur hex indiquant une erreur MSTR, le cas échéant. Deuxième implicite Sans objet Troisième implicite 31007524 8/2010 Quatrième implicite ID de l'emplacement Du cinquième au huitième implicite Sans objet Octet de poids faible : adresse d'emplacement du module adaptateur réseau. 789 MSTR : maître Commande MSTR Lire CTE (Table d'extension de configuration) Description sommaire La commande Lire CTE lit un nombre donné d'octets depuis le tableau d'extension de configuration Ethernet et les met en mémoire de l'automate dans le tampon indiqué. Les octets à lire commencent au décalage d'octet à partir du début du CTE. Le contenu de la table CTE Ethernet est affiché en partie médiane du bloc MSTR. Mise en œuvre du réseau La commande Lire CTE (type 11 dans le registre affiché de la partie haute) peut être mise en œuvre sur les réseaux Ethernet TCP/IP et Ethernet SY/MAX, accédés par l'adaptateur réseau adéquat. Les réseaux Modbus Plus ne se servent pas de cette commande. Utilisation du bloc de contrôle Dans une commande Lire CTE, les registres du bloc de contrôle MSTR (la partie haute) diffèrent selon le type de réseau que vous utilisez. z Ethernet TCP/IP z Ethernet SY/MAX Bloc de contrôle pour Ethernet TCP/IP Registre Fonction Contenu Affiché Type de commande 11 Premier implicite Etat d'erreur Affiche une valeur hex indiquant une erreur MSTR, le cas échéant. Deuxième implicite Sans objet Troisième implicite Quatrième implicite Du cinquième au huitième implicite 790 Index de mappage Soit une valeur affichée dans l'octet de poids fort du registre, soit non utilisé. ID de l'emplacement Numéro affiché dans l'octet de poids faible compris entre 1 et 16, indiquant l'emplacement dans l'embase locale où réside le module optionnel. Sans objet 31007524 8/2010 MSTR : maître Bloc de contrôle pour Ethernet SY/MAX Registre Fonction Contenu Affiché Type de commande 11 Premier implicite Etat d'erreur Affiche une valeur hex indiquant une erreur MSTR, le cas échéant. Deuxième implicite Taille des données Nombre de mots transmis. Troisième implicite Adresse de base Décalage en octets dans la structure de registre de l'automate, indiquant où les octets CTE seront écrits. Quatrième implicite Octet de poids faible Adresse d'emplacement du module NOE. Octet de poids fort Terminaison (paramétré à FF hex). Du cinquième au huitième implicite Sans objet Mise en œuvre de l'affichage CTE (partie médiane) Les valeurs de la table d'extension de configuration Ethernet (CTE) sont affichées dans une série de registres en partie médiane de l'instruction MSTR lorsqu'une commande Lire CTE est mise en œuvre. La partie médiane contient le premier de 11 registres 4x successifs. Les registres affichent les données CTE suivantes. Paramètres Registre Contenu Type de trame Affiché 1 = 802.3 2 = Ethernet Adresse IP Premier implicite Premier octet de l'adresse IP. Masque de sous–réseau Passerelle 31007524 8/2010 Deuxième implicite Deuxième octet de l'adresse IP. Troisième implicite Troisième octet de l'adresse IP. Quatrième implicite Quatrième octet de l'adresse IP. Cinquième implicite Mot de poids fort. Sixième implicite Mot de poids faible. Septième implicite Premier octet de la passerelle. Huitième implicite Deuxième octet de la passerelle. Neuvième implicite Troisième octet de la passerelle. Dixième implicite Quatrième octet de la passerelle. 791 MSTR : maître Commande MSTR Ecrire CTE (Table d'extension de configuration) Description sommaire La commande Ecrire CTE écrit le tableau CTE de configuration depuis les données indiquées en partie médiane vers une table d'extension de configuration Ethernet indiquée ou vers un emplacement déterminé. Mise en œuvre du réseau La commande Lire CTE (type 12 dans le registre affiché de la partie haute) peut être mise en œuvre sur les réseaux Ethernet TCP/IP et Ethernet SY/MAX, par l'adaptateur réseau adéquat. Les réseaux Modbus Plus ne se servent pas de cette commande. Utilisation du bloc de contrôle Dans une commande Ecrire CTE, les registres du bloc de contrôle MSTR (la partie haute) diffèrent selon le type de réseau que vous utilisez. z Ethernet TCP/IP z Ethernet SY/MAX Bloc de contrôle pour Ethernet TCP/IP Registre Fonction Contenu Affiché Type de commande 12 Premier implicite Etat d'erreur Affiche une valeur hex indiquant une erreur MSTR, le cas échéant Deuxième implicite Sans objet Troisième implicite Quatrième implicite Du cinquième au huitième implicite 792 Index de mappage Soit une valeur affichée dans l'octet de poids fort du registre, soit non utilisé. ID de l'emplacement Numéro affiché dans l'octet de poids faible, dans la plage 1 à 16, indiquant l'emplacement dans l'embase locale où réside le module optionnel. Sans objet 31007524 8/2010 MSTR : maître Bloc de contrôle pour Ethernet SY/MAX Registre Fonction Contenu Affiché Type de commande 12 Premier implicite Etat d'erreur Affiche une valeur hex indiquant une erreur MSTR, le cas échéant Deuxième implicite Taille des données Nombre de mots transmis Troisième implicite Adresse de base Décalage en octets dans la structure de registre de l'API, indiquant où les octets CTE seront écrits. Quatrième implicite Octet de poids faible Adresse d'emplacement du module NOE Octet de poids fort Numéro de station cible Cinquième implicite Terminaison Du sixième au huitième implicite Sans objet FF hex Mise en œuvre de l'affichage CTE (partie médiane) Les valeurs de la table d'extension de configuration Ethernet (CTE) sont affichées dans une série de registres en partie médiane de l'instruction MSTR lorsqu'une commande Ecrire CTE est mise en œuvre. La partie médiane contient le premier de 11 registres 4x successifs. Les registres sont utilisés pour transmettre les données CTE suivantes. Paramètres Registre Contenu Type de trame Affiché 1 = 802.3 2 = Ethernet Adresse IP Masque de sous–réseau Passerelle 31007524 8/2010 Premier implicite Premier octet de l'adresse IP Deuxième implicite Deuxième octet de l'adresse IP Troisième implicite Troisième octet de l'adresse IP Quatrième implicite Quatrième octet de l'adresse IP Cinquième implicite Mot de poids fort Sixième implicite Mot de poids faible Septième implicite Premier octet de la passerelle Huitième implicite Deuxième octet de la passerelle Neuvième implicite Troisième octet de la passerelle Dixième implicite Quatrième octet de la passerelle 793 MSTR : maître Statistiques du réseau Modbus Plus Statistiques du réseau Modbus Plus Le tableau suivant indique les statistiques disponibles sur le réseau Modbus Plus. Vous pouvez obtenir ces données en utilisant la commande MSTR appropriée ou en utilisant le code de fonction 8 de Modbus. NOTE : Lorsque vous générez les commandes Effacer statistiques locales ou Effacer statistiques distantes, seuls les mots 13 à 22 sont effacés. Statistiques du réseau Modbus Plus Mot Bits Signification 00 ID du type d'abonné 01 0 Type d'abonné inconnu 1 Abonné API 2 Abonné pont Modbus 3 Abonné ordinateur hôte 4 Abonné routeur 5 Abonné d'E/S d'égal à égal 0 à 11 Nº de version du logiciel en hexa (pour la lecture, rayer les bits 12 à 15 du mot) 12 à 14 Réservé 15 Définit les compteurs d'erreur du mot 15 (voir Mot 15) Le bit de poids fort définit l'utilisation des compteurs d'erreur du mot 15. La moitié de poids faible de l'octet supérieur plus l'octet inférieur (de poids faible) contient la version du logiciel : 02 794 Adresse réseau de cette station 31007524 8/2010 MSTR : maître Mot Bits Signification 03 Variable d'état MAC : 0 Etat mise sous tension 1 Etat contrôle hors ligne 2 Etat hors ligne double 3 Etat inactif 4 Etat utilisation jeton 5 Etat réponse travail 6 Etat passage jeton 7 Etat demande de réponse 8 Etat contrôle de passage 9 Etat réclamation du jeton 10 Etat réclamation de réponse 04 Etat égal à égal (code DEL) ; fournit des états de cette unité relatifs au réseau : 0 Fonctionnement liaison contrôle 32 Fonctionnement liaison normale 64 Jeton jamais reçu 96 Station unique 128 Compteur de passage jeton ; incrémente à chaque fois que cette station reçoit le jeton 06 Temps de rotation jeton en ms 07 08 09 31007524 8/2010 Station double 05 LO Mappe binaire maître données échoué en possession du jeton HI Mappe binaire maître programme échoué en possession du jeton LO Mappe binaire maître données activité possesseur du jeton HI Mappe binaire maître programme activité possesseur du jeton LO Mappe binaire esclave données activité possesseur du jeton HI Mappe binaire esclave programme activité possesseur du jeton 10 HI Mappe binaire de demande de transfert de commande données esclave/lecture esclave 11 LO Mappe binaire de demande de transfert de réponse Programme maître/lecture maître HI Mappe binaire de demande de transfert de commande programme esclave/lecture esclave 795 MSTR : maître Mot Bits Signification 12 13 14 LO Mappe binaire état de connexion de Programme maître HI Mappe binaire de demande de déconnexion automatique de Programme esclave LO Compteur d'erreurs de retard de prétransmission HI Compteur d'erreurs de dépassement DMA du tampon de réception LO Compteur de réception de commande répétée HI 15 Compteur d'erreurs de taille de trame Si le bit 15 du mot 1 n'est pas à 1, le mot 15 a la signification suivante : LO Compteur d'erreurs d'abandon sur collision du récepteur HI Compteur d'erreurs d'alignement du récepteur Si le bit 15 du mot 1 est à 1, le mot 15 a la signification suivante : LO HI Erreur de trame sur câble B 16 LO Compteur d'erreurs CRC du récepteur HI Compteur d'erreurs longueur incorrecte de paquet 17 LO Compteur d'erreurs adresse incorrecte de liaison 18 19 20 21 22 23 24 25 26 796 Erreur de trame sur câble A HI Compteur d'erreurs sous charge DMA du tampon de transmission LO Compteur d'erreurs longueur incorrecte de paquet interne HI Compteur d'erreurs code de fonction MAC incorrect LO Compteur de nouvelles tentatives de communication HI Compteur d'erreurs communication échouée LO Compteur de réussites de bonne réception du paquet HI Compteur d'erreurs absence de réponse LO Compteur d'erreurs réponse d'anomalie reçue HI Compteur d'erreurs itinéraire inattendu LO Compteur d'erreurs réponse inattendue HI Compteur d'erreurs transmission oubliée LO Mappe binaire table de stations actives, abonnés 1 à 8 HI Mappe binaire table de stations actives, abonnés 9 à 16 LO Mappe binaire table de stations actives, abonnés 17 à 24 HI Mappe binaire table de stations actives, abonnés 25 à 32 LO Mappe binaire table de stations actives, abonnés 33 à 40 HI Mappe binaire table de stations actives, abonnés 41 à 48 LO Mappe binaire table de stations actives, abonnés 49 à 56 HI Mappe binaire table de stations actives, abonnés 57 à 64 31007524 8/2010 MSTR : maître Mot Bits Signification 27 28 29 30 31 32 33 34 35 36 37 38 39 40 31007524 8/2010 LO Mappe binaire table de stations de jetons, abonnés 1 à 8 HI Mappe binaire table de stations de jetons, abonnés 9 à 16 LO Mappe binaire table de stations de jetons, abonnés 17 à 24 HI Mappe binaire table de stations de jetons, abonnés 25 à 32 LO Mappe binaire table de stations de jetons, abonnés 33 à 40 HI Mappe binaire table de stations de jetons, abonnés 41 à 48 LO Mappe binaire table de stations de jetons, abonnés 49 à 56 HI Mappe binaire table de stations de jetons, abonnés 57 à 64 LO Mappe binaire table présence de données globales, abonnés 1 à 8 HI Mappe binaire table présence de données globales, abonnés 9 à 16 LO Mappe binaire table présence de données globales, abonnés 17 à 24 HI Mappe binaire table présence de données globales, abonnés 25 à 32 LO Mappe binaire table présence de données globales, abonnés 33 à 40 HI Mappe binaire table présence de données globales, abonnés 41 à 48 LO Mappe binaire table présence de données globales, abonnés 49 à 56 HI Mappe binaire table présence de données globales, abonnés 57 à 64 LO Mappe binaire tampon de réception utilisé, tampon 1 à 8 HI Mappe binaire tampon de réception utilisé, tampon 9 à 16 LO Mappe binaire tampon de réception utilisé, tampon 17 à 24 HI Mappe binaire tampon de réception utilisé, tampon 25 à 32 LO Mappe binaire tampon de réception utilisé, tampon 33 à 40 HI Compteur de déclenchement commande exécutée de gestion de station LO Compteur de déclenchement de commande session de sortie 1 données maître HI Compteur de déclenchement de commande session de sortie 2 données maître LO Compteur de déclenchement de commande session de sortie 3 données maître HI Compteur de déclenchement de commande session de sortie 4 données maître LO Compteur de déclenchement de commande session de sortie 5 données maître HI Compteur de déclenchement de commande session de sortie 6 données maître 797 MSTR : maître Mot Bits Signification 41 LO Compteur de déclenchement de commande session de sortie 7 données maître HI Compteur de déclenchement de commande session de sortie 8 données maître LO Compteur de commande exécutée session d'entrée 41 données esclave HI Compteur de commande exécutée session d'entrée 42 données esclave LO Compteur de commande exécutée session d'entrée 43 données esclave HI Compteur de commande exécutée session d'entrée 44 données esclave LO Compteur de commande exécutée session d'entrée 45 données esclave HI Compteur de commande exécutée session d'entrée 46 données esclave LO Compteur de commande exécutée session d'entrée 47 données esclave HI Compteur de commande exécutée session d'entrée 48 données esclave LO Compteur de déclenchement de commande session de sortie 81 programme maître HI Compteur de déclenchement de commande session de sortie 82 programme maître LO Compteur de déclenchement de commande session de sortie 83 programme maître HI Compteur de déclenchement de commande session de sortie 84 programme maître 42 43 44 45 46 47 48 49 50 51 52 53 798 LO Compteur de déclenchement de commande programme maître HI Compteur de déclenchement de commande session de sortie 86 programme maître LO Compteur de déclenchement de commande session de sortie 87 programme maître HI Compteur de déclenchement de commande session de sortie 88 programme maître LO Compteur de commande exécutée session d'entrée C1 programme esclave HI Compteur de commande exécutée session d'entrée C2 programme esclave LO Compteur de commande exécutée session d'entrée C3 programme esclave HI Compteur de commande exécutée session d'entrée C4 programme esclave LO Compteur de commande exécutée session d'entrée C5 programme esclave HI Compteur de commande exécutée session d'entrée C6 programme esclave LO Compteur de commande exécutée session d'entrée C7 programme esclave HI Compteur de commande exécutée session d'entrée C8 programme esclave 31007524 8/2010 MSTR : maître Statistiques du réseau Ethernet TCP/IP Statistiques du réseau Ethernet TCP/IP Une carte Ethernet TCP/IP répond aux commandes Lire statistiques locales et Etablir statistiques locales avec les informations suivantes : Mot Signification 00 à 02 Adresse MAC, par exemple si l'adresse MAC est 00 00 54 00 12 34, elle est affichée comme suit : 03 04 et 05 Mot Contenu 00 00 00 01 00 54 02 34 12 Etat de la carte Signification 0x0001 En cours d'exécution 0x4000 Voyant APPI (1= état actif, 0 = état repos) 0x8000 Voyant Link Nombre d'interruptions du récepteur 06 et 07 Nombre d'interruptions de l'émetteur 08 et 09 Compte d'erreurs timeout d'émission 10 et 11 Compte d'erreur de détection de collision 12 et 13 Paquets manquants 14 et 15 Compte d'erreur de mémoire 16 et 17 Nombre de fois que le pilote a redémarré le lance 18 et 19 Réception compte d'erreur de trame 20 et 21 Compte d'erreurs de débordement du récepteur 22 et 23 Réception compte d'erreur CRC 24 et 25 Réception compte d'erreur de tampon 26 et 27 Compte d'erreurs tampon d'émission 28 et 29 Compte sous–charge silo d'émission 30 et 31 Compte de collision tardive 32 et 33 Compte de perte de porteuse 34 et 35 Nombre de nouvelles tentatives 36 et 37 Adresse IP, par exemple si l'adresse IP est 198.202.137.113 (ou c6 CA 89 71), elle s'affiche comme suit : Mot 31007524 8/2010 Contenu 36 89 71 37 C6 CA 799 MSTR : maître Erreurs d'exécution Erreurs d'exécution Si une erreur survient lors d'une commande MSTR, un code d'erreur hexadécimal s'affiche dans le premier registre implicite du bloc de contrôle (partie haute). Les codes d'erreur de fonction sont liés au réseau. Codes d'erreur Modbus Plus et Ethernet SY/MAX z Codes d'erreur spécifiques à SY/MAX z Codes d'erreur Ethernet TCP/IP z Codes d'erreur CTE pour Ethernet SY/MAX et Ethernet TCP/IP z 800 31007524 8/2010 MSTR : maître Codes d'erreur Modbus Plus et Ethernet SY/MAX Format du code d'erreur de fonction Le format du code d'erreur de fonction pour les transactions Modbus Plus et Ethernet SY/MAX est Mmss, où : z M représente le code principal z m représente le code secondaire z ss représente un sous–code Code d'erreur hexadécimal 31007524 8/2010 Code d'erreur Hex Signification 1001 L'utilisateur a abandonné l'élément MSTR. 2001 Un type de commande non géré a été spécifié dans le bloc de contrôle. 2002 Un ou plusieurs paramètres de bloc de contrôle ont été modifiés tandis que l'élément MSTR est actif (ne s'applique qu'aux commandes prenant plusieurs cycles pour s'achever). Les paramètres du bloc de contrôle ne peuvent être modifiés que lorsque l'élément MSTR n'est pas actif. 2003 Valeur incorrecte dans le champ longueur du bloc de contrôle. 2004 Valeur incorrecte dans le champ décalage du bloc de contrôle. 2005 Valeurs incorrectes dans les champs longueur et décalage du bloc de contrôle. 2006 Zone de données de l'appareil esclave invalide. 2007 Zone réseau de l'appareil esclave invalide. 2008 Routage réseau de l'appareil esclave invalide. 2009 Routage égal à votre propre adresse. 200A Tentative d'obtenir plus de mots de données globales qu'il n'en existe. 30ss Réponse d'anomalie esclave Modbus. 4001 Réponse esclave Modbus incohérente. 5001 Réponse réseau incohérente. 6mss Erreur de routage. 801 MSTR : maître Valeur HEX ss du code d'erreur 30ss Le sous–champ ss du code d'erreur 30ss est le suivant : Valeur Hex ss Signification 01 L'appareil esclave ne gère pas la commande demandée. 02 Demande de registres esclave inexistants. 03 Demande de données invalides. 04 Réservé. 05 L'esclave a accepté une commande programme longue durée. 06 La fonction ne peut être effectuée maintenant : une commande longue durée est en action. 07 Commande programme longue durée rejetée par l'esclave. 08 à 255 Réservé. Valeur Hex ss du code d'erreur 6ss Le sous-champ m du code d'erreur 6mss est un index des informations de routage indiquant où une erreur a été détectée (la valeur 0 indique l'abonné local, un 2 le deuxième équipement sur l'itinéraire, etc). Le sous-champ ss du code d'erreur 6mss est : 802 Valeur Hex ss Signification 01 Pas de réponse reçue. 02 Accès au programme refusé. 03 Abonné hors ligne et incapable de communiquer. 04 Réception réponse d'anomalie. 05 Sessions de données de l'abonné routeur occupées. 06 Esclave arrêté. 07 Adresse cible incorrecte. 08 Type d'abonné invalide sur l'itinéraire. 10 L'esclave a rejeté la commande. 20 Transaction déclenchée oubliée par l'esclave. 40 Réception de session de sortie maître inattendue. 80 Réception d'une réponse inattendue. F001 Indication d'un abonné cible incorrect pour la commande MSTR. 31007524 8/2010 MSTR : maître Codes d'erreur spécifiques à SY/MAX Types d'erreurs Lorsque l'on utilise Ethernet SY/MAX, trois types d'erreurs supplémentaires peuvent être reportés dans l'instruction MSTR. Les codes d'erreur ont les significations suivantes : z Erreurs 71xx : erreurs détectées par l'équipement SY/MAX distant z Erreurs 72xx : erreurs détectées par le serveur z Erreurs 73xx : erreurs détectées par le convertisseur Quantum Codes d'erreur hexadécimaux spécifiques à SY/MAX Codes d'erreur HEX spécifiques à SY/MAX 31007524 8/2010 Code d'erreur Hex Signification 7101 Code opérande non valide détecté par l'équipement SY/MAX distant 7103 Adresse non valide détectée par l'équipement SY/MAX distant 7109 Tentative d'écrire un registre en lecture seule détectée par l'équipement SY/MAX distant 710F Débordement de récepteur détecté par l'équipement SY/MAX distant 7110 Longueur incorrecte détectée par l'équipement SY/MAX distant 7111 Equipement distant désactivé, ne communiquant pas (survient après nouvelles tentatives et écoulement du timeout) détecté par l'équipement SY/ MAX distant 7113 Paramètre invalide sur une commande de lecture détecté par l'équipement SY/MAX distant 711D Itinéraire incorrect détecté par l'équipement SY/MAX distant 7149 Paramètre invalide sur une commande d'écriture détecté par l'équipement SY/MAX distant 714B Numéro de station incorrect détecté par l'équipement SY/MAX distant 7201 Code opérande non valide détecté par le serveur SY/MAX 7203 Adresse non valide détectée par le serveur SY/MAX 7209 Tentative d'écrire un registre en lecture seule détectée par le serveur SY/ MAX 720F Débordement de récepteur détecté par le serveur SY/MAX 7210 Longueur incorrecte détectée par le serveur SY/MAX 7211 Equipement distant désactivé, ne communiquant pas (survient après nouvelles tentatives et écoulement du timeout) détecté par le serveur SY/MAX 803 MSTR : maître Code d'erreur Hex Signification 7213 Paramètre invalide sur une commande de lecture détecté par le serveur SY/MAX 721D Itinéraire incorrect détecté par le serveur SY/MAX 7249 Paramètre invalide sur une commande d'écriture détecté par le serveur SY/MAX 724B Numéro de station incorrect détecté par le serveur SY/MAX 7301 Code opérande non valide dans une requête de bloc MSTR par le convertisseur Quantum 7303 Etat du module QSE Lecture/Ecriture (adresse de routage 200 hors limites) 7309 Tentative d'écrire un registre en lecture seule lors de l'exécution d'une écriture d'état (itinéraire 200) 731D Routage incorrect détecté par le convertisseur Quantum Les itinéraires valides sont : z station_cible, 0xFF z 200, station_cible, 0xFF z 100+station, station_cible, 0xFF Toutes les autres valeurs de routage génèrent une erreur 734B Une des erreurs suivantes est survenue : z Aucun tableau CTE (extension de configuration) n'a été configuré z Aucune entrée de tableau CTE n'a été créée pour le numéro d'emplacement du module QSE z Aucune station valide n'a été définie z Le module QSE n'a pas été réinitialisé après la création du tableau CTE Note Après avoir écrit et configuré le CTE et l'avoir chargé dans le module QSE, vous devez réinitialiser le module QSE pour que les modifications prennent effet. z Lors de l'utilisation d'une instruction MSTR, aucun emplacement ou aucune station valide n'a été spécifié(e) 804 31007524 8/2010 MSTR : maître Codes d'erreur Ethernet TCP/IP Erreur dans une routine MSTR Une erreur de routine MSTR via Ethernet TCP/IP peut provoquer l'une des erreurs suivantes dans le bloc contrôle MSTR : Le format de ce code est Mmss, où z M représente le code principal z m représente le code secondaire z ss représente un sous-code Code d'erreur hexadécimal d'une routine MSTR via Ethernet TCP/IP Code d'erreur Signification hexadécimal 1001 L'utilisateur a annulé l'élément MSTR 2001 Un type d'opération non pris en charge a été spécifié dans le bloc contrôle 2002 Un ou plusieurs paramètres du bloc contrôle ont été modifiés alors que l'élément MSTR était actif (ne s'applique qu'aux opérations se déroulant sur plusieurs cycles). Les paramètres du bloc contrôle peuvent être modifiés uniquement lorsque l'élément MSTR est inactif 2003 Valeur incorrecte dans le champ de longueur du bloc contrôle 2004 Valeur incorrecte dans le champ d'offset du bloc contrôle 2005 Valeurs incorrectes dans les champs de longueur et d'offset du bloc contrôle 2006 Zone de données de l'équipement esclave invalide 3000 Code d'échec Modbus générique 30ss Réponse d'exception de l'esclave Modbus 4001 Réponse incohérente de l'esclave Modbus Valeur hexadécimale ss dans code d'erreur 30ss le sous-champ ss dans le code d'erreur 30ss est : Valeur Signification hexadécimale ss 31007524 8/2010 01 L'équipement esclave ne gère pas l'opération requise 02 Des registres inexistants de l'équipement esclave sont requis 03 Valeur de donnée invalide requise 04 Réservé 05 L'esclave a accepté une commande de programme longue 805 MSTR : maître Valeur Signification hexadécimale ss 06 Impossible d'exécuter la fonction pour l'instant : une commande longue est en cours 07 L'esclave a refusé une commande de programme longue Code d'erreurs hexadécimal de réseau Ethernet TCP/IP Une erreur survenant sur le réseau Ethernet TCP/IP peut provoquer l'une des erreurs suivantes dans le bloc contrôle MSTR. Code d'erreur hexadécimal 806 Signification 5004 Appel système interrompu 5005 Erreur d'E/S 5006 Aucune adresse de ce type 5009 Descripteur de socket non valide 500C Mémoire insuffisante 500D Accès refusé 5011 Entrée existante 5016 Argument incorrect 5017 Espace insuffisant pour une table interne 5020 Connexion interrompue 5023 Cette opération risque d'être bloquante et le socket est non bloquant 5024 Le socket est non bloquant et la connexion ne peut pas être achevée 5025 Le socket est non bloquant et une précédente tentative de connexion n'a pas encore abouti 5026 Opération socket sur élément non socket 5027 Adresse de destination invalide 5028 Message trop long 5029 Type de protocole incorrect pour le socket 502A Protocole non disponible 502B Protocole non pris en charge 502C Type de socket non pris en charge 502D Opération non prise en charge sur le socket 502E Famille de protocoles non prise en charge 502F Famille d'adresses non prise en charge 5030 Adresse déjà utilisée 31007524 8/2010 MSTR : maître 31007524 8/2010 Code d'erreur hexadécimal Signification 5031 Adresse non disponible 5032 Réseau arrêté 5033 Réseau inaccessible 5034 Le réseau a interrompu la connexion lors de la réinitialisation. 5035 Abandon de la connexion par l'homologue 5036 Connexion réinitialisée par l'homologue 5037 Une mémoire tampon interne est requise, mais elle ne peut pas être attribuée 5038 Le socket est déjà connecté 5039 Le socket n'est pas connecté 503A Envoi impossible après l'arrêt du socket 503B Trop de références ; jonction impossible 503C Délai de connexion dépassé 503D La tentative de connexion a été refusée 5040 Hôte arrêté 5041 Impossible d'accéder à l'hôte de destination depuis ce nœud 5042 Répertoire non vide 5046 NI_INIT a renvoyé -1 5047 Le MTU est invalide 5048 La longueur matérielle est invalide 5049 L'acheminement spécifié est introuvable 504A Collision dans l'appel de sélection ; ces conditions ont déjà été sélectionnées par une autre tâche 504B L'ID de tâche est invalide 5050 Aucune ressource réseau 5051 Erreur de longueur 5052 Erreur d'adressage 5053 Erreur d'application 5054 Client en mauvais état pour la requête 5055 Aucune ressource distante 5056 Connexion TCP non opérationnelle 5057 Configuration incohérente F001 En mode de réinitialisation F002 Module partiellement initialisé. 807 MSTR : maître Codes d'erreur CTE pour Ethernet SY/MAX et Ethernet TCP/IP Codes d'erreur CTE pour Ethernet SY/MAX et Ethernet TCP/IP Code d'erreur HEX pour un sous-programme MSTR via Ethernet TCP/IP : Code d'erreur Hex 808 Signification 7001 Pas d'extension de configuration Ethernet. 7002 CTE non disponible en accès. 7003 Le décalage est incorrect. 7004 Longueur du décalage + incorrecte. 7005 Champ de données incorrect dans le CTE. 31007524 8/2010 MU16 : multiplication de valeurs 16 bits 31007524 8/2010 MU16 : multiplication de valeurs 16 bits 122 Introduction Ce chapitre décrit l'instruction MU16. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Description sommaire 810 Représentation 811 809 MU16 : multiplication de valeurs 16 bits Description sommaire Description de la fonction L'instruction MU16 effectue une multiplication signée ou non signée sur les valeurs 16 bits des parties haute et médiane, puis place le produit dans deux registres de sortie successifs dans la partie basse. 810 31007524 8/2010 MU16 : multiplication de valeurs 16 bits Représentation Symbole Représentation de l'instruction Description des paramètres Description des paramètres de l'instruction Paramètres 31007524 8/2010 Référence de Type de mémoire données d'état Signification Entrée haute 0x, 1x Aucun Activée = déclenche valeur 1 x valeur 2 Entrée basse 0x, 1x Aucun Activée = opération signée Désactivée = opération non signée Valeur 1 (partie haute) 3x, 4x INT, UINT Multiplicande, peut être affiché explicitement comme entier (plage de 1 à 65 535, saisir par exemple #65535) ou mémorisé dans un registre Valeur 2 (partie médiane) 3x, 4x INT, UINT Multiplicateur, peut être affiché explicitement comme un entier (plage 1 à 65 535) ou mémorisé dans un registre Produit 4x (partie basse) INT, UINT Le premier de deux registres de sortie successifs : le registre affiché contient la moitié du produit et le registre implicite l'autre moitié. Sortie haute Aucun Donne une image de l'entrée haute. 0x 811 MU16 : multiplication de valeurs 16 bits 812 31007524 8/2010 MUL : multiplication 31007524 8/2010 MUL : multiplication 123 Introduction Ce chapitre décrit l'instruction MUL. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Description sommaire 814 Représentation 815 Exemple 817 813 MUL : multiplication Description sommaire Description de la fonction L'instruction MUL multiplie la valeur non signée 1 (sa partie haute) par la valeur non signée 2 (sa partie médiane) et mémorise le produit dans deux registres de sortie successifs dans la partie basse. 814 31007524 8/2010 MUL : multiplication Représentation Symbole Représentation de l'instruction *Disponible sur les automates suivants : z E685/785 z L785 z série Quantum 31007524 8/2010 815 MUL : multiplication Description des paramètres 816 Paramètres Référence de Type de données mémoire d'état Signification Entrée haute 0x, 1x Aucun Activée = valeur 1 multipliée par valeur 2 Valeur 1 (partie haute) 3x, 4x UINT Multiplicateur, peut être affiché explicitement comme un entier (plage 1 à 9 999) ou mémorisé dans un registre. Valeur max. : 999 - automate 16 bits. Valeur max. : 9 999 - automate 24 bits. Valeur max. : 65 535 - automate*. Valeur 2 (partie médiane) 3x, 4x UINT Multiplicateur, peut être affiché explicitement comme un entier (plage 1 à 9 999) ou mémorisé dans un registre. Valeur max. : 999 - automate 16 bits. Valeur max. : 9 999 - automate 24 bits. Valeur max. : 65 535 - automate*. Résultat (partie basse) 4x UINT Produit (le premier de deux registres de sortie successifs ; affiché : chiffres de poids fort ; implicite : chiffres de poids faible) Sortie haute 0x Aucun Donne une image de l'entrée haute. 31007524 8/2010 MUL : multiplication Exemple Produit de l'instruction MUL Par exemple, si la valeur 1 = 8 000 et la valeur 2 = 2, le produit vaut 16 000. Le registre affiché contient la valeur 0001 (la moitié de poids fort du produit), et le registre implicite contient la valeur 6 000 (la moitié de poids faible du produit). 31007524 8/2010 817 MUL : multiplication 818 31007524 8/2010 NBIT : contrôle des bits 31007524 8/2010 NBIT : contrôle des bits 124 Introduction Ce chapitre décrit l'instruction NBIT. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Description sommaire 820 Représentation 821 819 NBIT : contrôle des bits Description sommaire Description de la fonction L'instruction bit normal (NBIT) vous permet de contrôler l'état d'un bit d'un registre en spécifiant son numéro de bit associé dans la partie basse. Les bits contrôlés sont similaires à des bobines : lorsqu'un bit est mis à 1, il reste à 1 jusqu'à ce qu'un signal de contrôle le remette à zéro. NOTE : L'instruction NBIT ne suit pas les mêmes règles de placement de réseau que les bobines référencées 0x. Une instruction NBIT ne peut pas être placée en colonne 11 d'un réseau et peut être positionnée à gauche d'autres éléments logiques sur les mêmes échelons du schéma. 820 31007524 8/2010 NBIT : contrôle des bits Représentation Symbole Représentation de l'instruction Description des paramètres Description des paramètres de l'instruction Paramètres Référence de Type de données mémoire d'état Signification Entrée haute 0x, 1x Aucun Activée = définit le bit spécifié sur 1 Désactivée = définit le bit spécifié sur 0 N° de registre (partie haute) 4x WORD Registre de sortie dont la configuration binaire est contrôlée. INT, UINT Parmi les 16 bits, indique celui qui est contrôlé Aucun Donne une image de l'entrée haute : Activée = entrée haute activée et bit spécifié défini sur 1 Désactivée = entrée haute désactivée et bit spécifié défini sur 0 N° de bit (partie basse) Sortie haute 31007524 8/2010 0x 821 NBIT : contrôle des bits 822 31007524 8/2010 NCBT : bit normalement fermé (NF) 31007524 8/2010 NCBT : bit normalement fermé (NF) 125 Introduction Ce chapitre décrit l'instruction NCBT. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Description sommaire 824 Représentation 825 823 NCBT : bit normalement fermé (NF) Description sommaire Description de la fonction L'instruction Bit NF (NCBT) vous permet de lire l'état logique d'un bit dans un registre en spécifiant son numéro de bit associé dans la partie basse. Le bit représente un contact NF. Il transmet le courant sur sa partie haute lorsque le bit spécifié est désactivé et que l'entrée haute est activée 824 31007524 8/2010 NCBT : bit normalement fermé (NF) Représentation Symbole Représentation de l'instruction Description des paramètres Description des paramètres de l'instruction Paramètres Référence de Type de données mémoire d'état Signification Entrée haute 0x, 1x Aucun Activée = déclenche la lecture de bits N° de registre (partie haute) 3x, 4x WORD Registre dont la configuration binaire est utilisée pour représenter des contacts NF INT, UINT Parmi les 16 bits, indique celui qui est lu Aucun Activée = l'entrée haute est activée et le bit spécifié est désactivé (état logique 0) N° de bit (partie basse) Sortie haute 31007524 8/2010 0x 825 NCBT : bit normalement fermé (NF) 826 31007524 8/2010 NOBT : bit normalement ouvert (NO) 31007524 8/2010 NOBT : bit normalement ouvert (NO) 126 Introduction Ce chapitre décrit l'instruction NOBT. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Description sommaire 828 Représentation 829 827 NOBT : bit normalement ouvert (NO) Description sommaire Description de la fonction L'instruction Bit NO (NOBT) vous permet de lire l'état logique d'un bit dans un registre en spécifiant son numéro de bit associé dans la partie basse. Le bit représente un contact NO. 828 31007524 8/2010 NOBT : bit normalement ouvert (NO) Représentation Symbole Représentation de l'instruction Description des paramètres Description des paramètres de l'instruction Paramètres Référence de Type de mémoire données d'état Signification Entrée haute 0x, 1x Aucun Activée = déclenche la lecture de bits N° de registre (partie haute) 3x, 4x WORD Registre dont la configuration binaire est utilisée pour représenter des contacts NO. INT, UINT Parmi les 16 bits, indique celui qui est lu Aucun Activée = l'entrée haute est activée et le bit spécifié est activé (état logique 1) N° de bit (partie basse) Sortie haute 31007524 8/2010 0x 829 NOBT : bit normalement ouvert (NO) 830 31007524 8/2010 NOL : module d'option réseau pour Lonworks 31007524 8/2010 NOL : module d'option réseau pour Lonworks 127 Introduction Ce chapitre décrit l'instruction NOL. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Description sommaire 832 Représentation 833 Description détaillée 834 831 NOL : module d'option réseau pour Lonworks Description sommaire Conditions requises Avant d'utiliser cette instruction, vous devez suivre les étapes ci-après : Etape 1 Action Ajoutez une instruction chargeable NSUP.exe à la configuration de l'automate Note : Cette instruction chargeable ne doit être chargée qu'une seule fois pour supporter les multiples instructions chargeables, telles que ECS.exe et XMIT.exe. ATTENTION Les sorties de l'instruction sont activées, quel que soit l'état des entrées Si l'instruction chargeable NSUP n'est pas installée, si elle est installée après l'instruction chargeable NOL ou si elle est installée sur un API Quantum utilisant un exécutif < V2.0, les trois sorties sont mises à 1, quel que soit l'état des entrées. Le non-respect de ces instructions peut provoquer des blessures ou des dommages matériels. Etape 2 Action Décompactez et installez l'instruction chargeable DX NOL. Vous trouverez de plus amples informations dans Installation des instructions chargeables DX, page 79. Description de la fonction L'instruction NOL est destinée à faciliter le transfert de gros volumes de données entre le module NOL et l'espace de registre de l'automate. Le module NOL est associé à 16 registres d'entrée (3X) et à 16 registres de sortie (4X). Sur ces 16 registres d'entrée et de sortie, deux sont destinés à la synchronisation entre le module NOL et l'instruction. Les 14 registres d'entrée et de sortie restants sont utilisés pour transporter les données 832 31007524 8/2010 NOL : module d'option réseau pour Lonworks Représentation Symbole Représentation de l'instruction Description des paramètres 31007524 8/2010 Paramètres Référence de mémoire d'état Type de données Signification Entrée haute 0x, 1x Aucun Activée = déclenche la fonction NOL Entrée médiane 0x, 1x Aucun Activée = initialisation : force l'instruction à se resynchroniser avec le module N° de fonction (partie haute) INT, UINT, Le numéro de la fonction sélectionne la fonction WORD du bloc NOL La fonction 0 permet d'échanger des données avec le module. Tout autre numéro de fonction génère une erreur. 4x 4x Bloc registre (partie médiane) INT, UINT, Bloc registre (le premier de 16 registres WORD successifs) Compte (partie basse) INT, UINT Nombre total de registres requis par l'instruction Sortie haute 0x Aucun Activée = instruction déclenchée et aucune erreur Sortie médiane 0x Aucun Nouvelles données Définie sur 1 pendant 1 cycle après l'écriture de l'ensemble du bloc de données provenant du module dans la zone de registre. Sortie basse 0x Aucun Activée = erreur 833 NOL : module d'option réseau pour Lonworks Description détaillée Bloc de registre (partie médiane) Ce bloc fournit les registres pour les informations d'état et de configuration, pour les bits d'état de santé et pour les données effectives des types de variables réseau standard SNVT (Standard Network Variable Type). Bloc de registre Registre Information d'état Affiché et premier implicite. et de configuration Deuxième et troisième implicites Quatrième implicite Contenu Base d'entrée de l'affectation des E/S (3x) Base de sortie de l'affectation des E/S (4x) Autoriser bit de sortie Cinquième implicite Nombre de registres d'entrées Sixième implicite Nombre de registres de sorties Septième implicite Nombre de registres de bits d'entrée Huitième implicite Nombre de registres de bits de sortie Neuvième implicite Checksum de config. (CRC) 10ème implicite Version NOL 11ème implicite Version micrologiciel du module 12ème implicite Version NOL DX 13ème implicite Version DX du module 14ème et 15ème implicites Inutilisé Etat des bits de santé SNVT (si activé à l'écran Zoom DX) 16ème à 31ème implicites Bits de santé de chaque variable réseau programmable Données effectives SNVT Les données sont enregistrées dans 4 groupes : z Entrées TOR Autoriser bit de sortie = OUI z Entrées de registre z Sorties TOR : à partir du 32ème implicite z Sorties de registre Autoriser bit de sortie = NON : à partir du 16ème implicite Ces groupes de données sont configurés consécutivement et commencent sur des limites de mot. Les 16 premiers registres contenant les informations d'état et de configuration peuvent être programmés et surveillés via l'écran Zoom NOL DX. Pour la configuration de la liaison vers le module NOL, les seuls paramètres à saisir sont les registres de début 3x et 4x utilisés lors de l'affection des E/S du module NOL. Vous trouverez de plus amples informations dans la documentation Module d'option réseau pour LonWorks. 834 31007524 8/2010 NOL : module d'option réseau pour Lonworks Compte (partie basse) Définit le nombre total de registres exigés par le bloc fonction. Cette valeur doit être paramétrée à une valeur égale ou supérieure au nombre de registres de données nécessaires au transfert et à la mémorisation des données réseau utilisées par le module NOL. Si la valeur de compte n'est pas suffisante pour recevoir les données requises, la sortie d'erreur est mise à 1. 31007524 8/2010 835 NOL : module d'option réseau pour Lonworks 836 31007524 8/2010 Description des instructions (de O à Q) 31007524 8/2010 Description des instructions (de O à Q) V Introduction Dans cette section, les descriptions des instructions sont triées par ordre alphabétique de O à Q. Contenu de cette partie Cette partie contient les chapitres suivants : Chapitre 31007524 8/2010 Titre du chapitre Page 128 OR : OU logique 839 129 PCFL : bibliothèque des fonctions de régulation de procédés 845 130 PCFL-AIN : entrée analogique 853 131 PCFL-ALARM : gestionnaire central d'alarmes 859 132 PCFL-AOUT : sortie analogique 865 133 PCFL-AVER : moyenne des entrées pondérées 869 134 PCFL-CALC : calcul d'une formule prédéfinie 875 135 PCFL-DELAY : file d'attente de retard temporel 881 136 PCFL-EQN : calculateur d'équations formatées 885 137 PCFL-INTEG : intégration d'entrées à intervalles définis 891 138 PCFL-KPID : PID ISA complet non interactif 895 139 PCFL-LIMIT : Limite de Vp 901 140 PCFL-LIMV : limite de la vitesse de variation de VP 905 141 PCFL-LKUP : table de conversion 909 142 PCFL-LLAG : Filtre avance/retard du premier ordre 915 143 PCFL-MODE : configuration de l'entrée en mode manuel ou automatique 919 144 PCFL-ONOFF : valeurs activée/désactivée de la plage neutre 923 145 PCFL-PI : PI ISA non interactif 927 146 PCFL-PID : Algorithmes PID 933 837 Description des instructions (de O à Q) Chapitre 838 Titre du chapitre Page 147 PCFL-RAMP : rampe vers la consigne à pente constante 939 148 PCFL-RATE : calcul du taux dérivé sur une durée définie 943 149 PCFL-RATIO : régulateur de rapports 4 positions 947 150 PCFL-RMPLN : rampe logarithmique vers consigne 951 151 PCFL-SEL : sélection d'entrées 955 152 PCFL-TOTAL : totalisateur de flux 961 153 PEER : transmission PEER 967 154 PID2 : proportionnelle–intégrale–dérivée 971 31007524 8/2010 OR : OU logique 31007524 8/2010 OR : OU logique 128 Introduction Ce chapitre décrit l'instruction OR. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 840 Représentation 841 Description des paramètres 843 839 OR : OU logique Description sommaire Description de la fonction AVERTISSEMENT BOBINES INVALIDEES Avant d'utiliser les instructions OR, vérifiez les bobines invalidées. L'instruction OR écrasera toute bobine invalidée dans la matrice cible sans pour autant la déclencher. Ceci peut provoquer des dommages si une bobine a invalidé une opération pour des travaux d'entretien ou de réparation puisque l'état de la bobine peut changer suite à l'instruction OR. Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des dommages matériels. L'instruction OR effectue une opération OU booléenne sur les configurations binaires des matrices source et cible. La configuration binaire liée par OR est ensuite placée dans la matrice cible, écrasant ainsi le contenu précédent. 840 31007524 8/2010 OR : OU logique Représentation Symbole Représentation de l'instruction Description des paramètres Paramètres Référence de Type de données mémoire d'état Signification Entrée haute 0x, 1x Aucun Déclenche le OR Matrice source (partie haute) 0x, 1x, 3x, 4x ANY_BIT Première référence de la matrice source. Matrice cible (partie médiane) 0x, 4x ANY_BIT Première référence de la matrice cible INT, UINT Longueur de la matrice, comprise entre 1 et 100 Aucun Donne une image de l'état de l'entrée haute Longueur (partie basse) Sortie haute 31007524 8/2010 0x 841 OR : OU logique Exemple OR ATTENTION RESTRICTIONS SORTIES/BOBINES LIEES A L'INSTRUCTION OR Ne mettez pas les sorties et les bobines hors tension lors de l'utilisation de l'instruction OR. Le non-respect de ces instructions peut provoquer des blessures ou des dommages matériels. Chaque fois que le contact 10001 transmet du courant, la matrice source, formée par la configuration binaire dans les registres 40600 et 40601, est liée par OR à la matrice cible, formée par la configuration binaire dans les registres 40606 et 40607. La configuration binaire liée par OR est ensuite copiée dans les registres 40606 et 40607, écrasant la configuration binaire cible d'origine. NOTE : Pour conserver la configuration binaire cible d'origine des registres 40606 et 40607, copiez les informations dans une autre table à l'aide de l'instruction BLKM avant d'exécuter l'opération OR. 842 31007524 8/2010 OR : OU logique Description des paramètres Longueur de la matrice (partie basse) Le nombre entier saisi en partie basse indique la longueur de la matrice, c'est-à-dire le nombre de registres ou de mots 16 bits des deux matrices. La longueur est comprise entre 1 et 100. La longueur 2 indique que 32 bits de chaque matrice seront liés par OR. 31007524 8/2010 843 OR : OU logique 844 31007524 8/2010 PCFL : bibliothèque des fonctions de régulation de procédés 31007524 8/2010 PCFL : bibliothèque des fonctions de régulation de procédés 129 Introduction Ce chapitre décrit l'instruction PCFL. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 846 Représentation 847 Description des paramètres 848 845 PCFL : bibliothèque des fonctions de régulation de procédés Description sommaire Description de la fonction L'instruction PCFL vous permet d'accéder à une bibliothèque de fonctions de régulation de procédé utilisant des valeurs analogiques. Les opérations PCFL relèvent de trois catégories principales. Calculs avancés z Traitement du signal z Régulation z Une fonction PCFL est sélectionnée dans une liste de sous-fonctions alphabétiques dans un menu déroulant du logiciel de console, et la sous-fonction est affichée dans la partie haute de l'instruction (voir Fonction (partie haute), page 848 pour la liste des sous-fonctions et leurs descriptions). PCFL utilise la même bibliothèque VF que EMTH. Si l'automate que vous utilisez pour PCFL n'est pas équipé du coprocesseur mathématique 80x87 intégré, l'exécution des calculs dure en comparaison plus longtemps. Les automates avec coprocesseur mathématique peuvent effectuer les calculs PCFL dix fois plus vite que les automates sans la puce. La vitesse ne doit cependant pas être un critère déterminant dans la plupart des applications de régulation de procédé pour lesquelles les temps sont mesurés en secondes et non en millisecondes. 846 31007524 8/2010 PCFL : bibliothèque des fonctions de régulation de procédés Représentation Symbole Représentation de l'instruction Description des paramètres Paramètres Référence Type de de mémoire données d'état Signification Entrée haute 0x, 1x Activée = déclenche la fonction de régulation de procédés définie Aucun Fonction (partie haute) 31007524 8/2010 Sélection de la fonction de régulation de procédés. Un indicateur de la fonction sélectionnée dans la bibliothèque PCFL est précisé dans la partie haute. (Pour plus d'informations, reportez-vous à la section Fonction (partie haute), page 848.) 4x Bloc de paramètres (partie médiane) INT, UINT, WORD Premier d'un bloc de registres de sortie successifs dans lesquels sont mémorisés les paramètres de la sous-fonction définie Longueur (partie basse) INT, UINT Longueur du bloc de paramètres (dépend de la sous-fonction choisie) Sortie haute 0x Aucun Activée = opération réussie Sortie basse 0x Aucun Activée = erreur 847 PCFL : bibliothèque des fonctions de régulation de procédés Description des paramètres Fonction (partie haute) Une sous-fonction de la fonction sélectionnée dans la bibliothèque PCFL (sousfonction) est indiquée dans la partie haute. Opération SousDescription fonction Calculs avancés AVER Moyenne pondérée des entrées Non CALC Calcule la formule définie Non EQN Calcul de l'équation au format Non Gestionnaire central d'alarme pour une entrée VP Non AIN Convertit les entrées en unités physiques à l'échelle Non AOUT Convertit les sorties en valeurs dans la plage Non de 0 à 4095 DELAY File d'attente de retard temporel Oui LKUP Linéarisation par interpolation Non INTEG Intègre une entrée à intervalle défini Oui LLAG Filtre avance/retard du premier ordre Oui LIMIT Limite de VP (bas/bas, bas, haut, haut/haut) Non LIMV Limiteur de variation de la VP (bas, haut) Oui MODE Met l'entrée en mode auto ou manuel Non Traitement du ALARM signal 848 Fonctionnement dépendant du temps RAMP Rampe vers consigne à une pente constante Oui RMPLN Rampe logarithmique vers la consigne (rapprochement aux 2/3 de la consigne à chaque constante de temps) Oui RATE Calcul du taux dérivé sur une durée définie Oui SEL Sélection d'entrée haute/basse/moyenne Non 31007524 8/2010 PCFL : bibliothèque des fonctions de régulation de procédés Opération SousDescription fonction Fonctionnement dépendant du temps Régulation KPID Proportionnelle-intégrale-dérivée (PID) ISA complète non interactive Oui ONOFF Spécifie les valeurs de déclenchement de la plage neutre Non PID Algorithmes PID Oui PI PI ISA non interactif (avec modes de fonctionnement arrêt/manuel/auto) Oui RATIO Régulateur de rapport à quatre positions Non TOTAL Totalisateur de flux Oui Calculs avancés Les calculs avancés sont utilisés à des fins mathématiques générales et ne sont pas limités aux applications de régulation de procédé. A l'aide des calculs avancés, vous pouvez créer des algorithmes personnalisés de traitement du signal, en déduire des états du procédé contrôlé, des mesures statistiques du procédé, etc. Des routines mathématiques élémentaires sont déjà proposées dans l'instruction EMTH. La fonctionnalité de calcul intégrée dans PCFL est un calculateur d'équations textuelles permettant l'écriture d'équations personnalisées plutôt que de programmer une série d'opérations mathématiques une à une. Traitement du signal Les fonctions de traitement du signal sont utilisées pour traiter des signaux du procédé et dérivés du procédé. Elles peuvent le faire de différentes façons ; elles linéarisent, filtrent, retardent et d'une manière générale modifient un signal. Cette catégorie comporte des fonctions telles que les entrées/sorties analogiques, les limiteurs, Avance/retard et les générateurs de rampe. Régulation Les fonctions de régulation effectuent des régulations en boucle fermée pour des applications très diverses. Il s'agit en général d'une boucle de régulation PID (proportionnelle–intégrale–dérivée) à rétroaction. Les fonctions PID dans PCFL offrent différents niveaux de fonctionnalité. La fonction 75, PID, possède la même fonctionnalité générale que l'instruction PID2 mais utilise les opérations mathématiques en virgule flottante et représente certaines options différemment. PID est intéressante dans les cas où PID2 n'est pas adaptée du fait de considérations numériques telles que les arrondis. Vous trouverez de plus amples informations dans Sous-fonctions PCFL, page 49. 31007524 8/2010 849 PCFL : bibliothèque des fonctions de régulation de procédés Bloc de paramètres (partie médiane) Le registre 4x saisi en partie médiane est le premier d'un bloc de registres de sortie successifs dans lesquels sont mémorisés les paramètres de l'opération PCFL définie. Les façons dont les nombreuses opérations PCFL implémentent le bloc de paramètres sont décrites dans les diverses sous-fonctions (opérations PCFL). Au sein du bloc de paramètre de chaque fonction PCFL, on utilise deux registres pour les états des entrées et sorties. Drapeaux de sortie Dans toutes les fonctions PCFL, les bits 12 à 16 du registre d'état des sorties caractérisent les drapeaux standard de sortie suivants : Bit Fonction 1 à 11 Inutilisé 12 1 = Erreur mathématique, virgule flottante ou sortie invalide 13 1 = Fonction PCFL inconnue 14 Inutilisé 15 1 = La taille de la table de registre affectée est trop petite 16 1 = Une erreur est survenue, activation de la sortie basse Pour les fonctions PCFL dépendantes du temps, les bits 9 et 11 sont également utilisés comme suit : Bit 850 Fonction 1à8 Inutilisé 9 1 = Initialisation en cours 10 Inutilisé 11 1 = Période de traitement illicite 12 1 = Erreur mathématique, virgule flottante ou sortie invalide 13 1 = Fonction PCFL inconnue 14 Inutilisé 15 1 = La taille de la table de registre affectée est trop petite 16 1 = Une erreur est survenue, activation de la sortie basse 31007524 8/2010 PCFL : bibliothèque des fonctions de régulation de procédés Drapeaux d'entrée Dans toutes les fonctions PCFL, les bits 1 et 3 du registre d'état des entrées définissent les drapeaux suivants des entrées normales : Bit Fonction 1 1 = Initialisation de la fonction achevée ou en cours 0 = Initialise la fonction 2 Inutilisé 3 1 = Ecrasement de la temporisation 4 à 16 Inutilisé Longueur (partie basse) Le nombre entier saisi en partie basse indique la longueur, c'est-à-dire le nombre de registres, du bloc de paramètres PCFL. La longueur maximum possible pourra varier selon la fonction que vous définissez. 31007524 8/2010 851 PCFL : bibliothèque des fonctions de régulation de procédés 852 31007524 8/2010 PCFL-AIN : entrée analogique 31007524 8/2010 PCFL-AIN : entrée analogique 130 Introduction Ce chapitre décrit la sous-fonction PCFL-AIN. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 854 Représentation 855 Description des paramètres 856 853 PCFL-AIN : entrée analogique Description sommaire Description de la fonction NOTE : Cette instruction est une sous-fonction de l'instruction PCFL. Elle fait partie de la catégorie Traitement du signal. La fonction AIN met l'entrée brute générée par les modules d'entrées analogiques à l'échelle en valeurs physiques utilisables dans les calculs ultérieurs. Il existe trois options de mise à l'échelle. mise à l'échelle automatique des entrées z mise à l'échelle manuelle des entrées z extraction de la racine carrée procédée sur l'entrée pour linéariser le signal avant la mise à l'échelle. z 854 31007524 8/2010 PCFL-AIN : entrée analogique Représentation Symbole Représentation de l'instruction Description des paramètres Paramètres Référence de Type de données mémoire d'état Signification Entrée haute 0x, 1x Activée = déclenche la fonction de régulation de procédés définie Aucun AIN (partie haute) Bloc de paramètres (partie médiane) Sélection de la sous-fonction AIN 4x 14 (partie basse) 31007524 8/2010 INT, UINT Premier d'un bloc de registres de sortie successifs dans lesquels sont mémorisés les paramètres de la sous-fonction définie Pour plus d'informations, reportez-vous à la section Bloc de paramètres (partie médiane), page 857. INT, UINT Longueur du bloc de paramètres de la sous-fonction AIN (ne peut pas être changée) Sortie haute 0x Aucun Activée = opération réussie Sortie basse 0x Aucun Activée = erreur 855 PCFL-AIN : entrée analogique Description des paramètres Mode de fonctionnement AIN dispose de plages de résolution pour les types d'abonnés suivants : Plages physiques Quantum Résolution Plage : Valide Plage : Endessous Plage : Au-dessus 10 V 768 à 64 768 767 64 769 16 768 à 48 768 16 767 48 769 0 à 10 V V 0 à 64 000 0 64 001 0à5V 0 à 32 000 0 32 001 1à5V 6 400 à 32 000 6 399 32 001 Plage : En dessous Plage : Au-dessus Thermocouple Quantum Résolution Plage : Valide Degrés TC -454 à +3 308 0,1 degré TC -4 540 à +32 767 Unités brutes TC 0 à 65 535 Voltmètre Quantum Résolution 856 Plage : Valide 10 V -10 000 à +10 000 -10 001 +10 001 5V -5 000 à +5 000 -5 001 +5 001 0 à 10 V 0 à 10 000 0 10 001 0à5V 0 à 5 000 0 5 001 1à5V 1 000 à 5 000 999 5 001 31007524 8/2010 PCFL-AIN : entrée analogique Bloc de paramètres (partie médiane) La longueur du bloc de paramètres AIN est de 14 registres. Registre Contenu Affiché Entrée depuis un registre 3x Premier implicite Réservé Deuxième implicite Etat de sortie Troisième implicite Etat d'entrée Quatrième et cinquième implicite Échelle 100 % des unités physiques Sixième et septième implicite Échelle 0 % des unités physiques Huitième et neuvième implicite Entrée manuelle 10ème et 11ème implicite Entrée auto 12ème et 13ème implicite Sortie Etat de sortie 31007524 8/2010 Bit Fonction 1à5 Inutilisé 6 1 = avec racine carrée procédé TC, invalide ; en plage extrapolée, racine carrée procédé non utilisée 7 1 = entrée hors limites 8 1 = écho en dessous de la plage du module d'entrée 9 1 = écho au-dessus de la plage du module d'entrée 10 1 = choix du mode de sortie invalide 11 1 = unités physiques non admissibles 12 à 16 Bits des sorties normales (drapeaux) 857 PCFL-AIN : entrée analogique Etat d'entrée Bit Fonction 1à3 Bits d'entrées normales (drapeaux) 4à8 Plages (voir les tableaux suivants) 9 1 = racine carrée procédé sur l'entrée brute 10 1 = mode mise à l'échelle manuelle 0 = mode mise à l'échelle auto 11 1 = extrapole le dépassement positif/négatif de plage en mode auto 0 = borne le dépassement pos/nég de plage en mode auto 12 à 16 Inutilisé Plages physiques Quantum Bit 4 5 6 7 8 Plage 0 1 0 0 0 +/- 10 V 0 1 0 0 1 +/- 5 V 0 1 0 1 0 0 à 10 V 0 1 0 1 1 0à5V 0 1 1 0 0 1à5V Thermocouple Quantum Bit 4 5 6 7 8 Plage 0 1 1 0 1 Degrés TC 0 1 1 1 0 0,1 degré TC 0 1 1 1 1 Unités brutes TC Voltmètre Quantum Bit 4 5 6 7 8 Plage 1 0 0 0 0 +/- 10 V 1 0 0 1 0 +/- 5 V 1 0 1 0 0 0 à 10 V 1 0 1 1 0 0à5V 1 1 0 0 0 1à5V NOTE : Le bit 4 de ce registre n'est pas d'utilisation normale. 858 31007524 8/2010 PCFL-ALARM : gestionnaire central d'alarmes 31007524 8/2010 PCFL-ALARM : gestionnaire central d'alarmes 131 Introduction Ce chapitre décrit la sous-fonction PCFL-Alarm. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 860 Représentation 861 Description des paramètres 862 859 PCFL-ALARM : gestionnaire central d'alarmes Description sommaire Description de la fonction NOTE : Cette instruction est une sous-fonction de l'instruction PCFL. Elle fait partie de la catégorie Traitement du signal. La fonction ALARM vous offre un bloc central pour la gestion des alarmes dans lequel vous pouvez positionner des seuils haut (H), bas (B), haut max (HM), et bas min (BM) sur une variable de procédé. ALARM vous demande de préciser : le choix d'un mode de fonctionnement normal ou écart z l'utilisation des seuils H/B ou les deux H/B et HM/BM z l'utilisation de la plage neutre (PN) au voisinage des seuils. z 860 31007524 8/2010 PCFL-ALARM : gestionnaire central d'alarmes Représentation Symbole Représentation de l'instruction Description des paramètres Paramètres Référence de Type de données mémoire d'état Signification Entrée haute 0x, 1x Activée = déclenche la fonction de régulation de procédés définie Aucun ALRM (partie haute) Bloc de paramètres (partie médiane) Sélection de la sous-fonction ALARM 4x 16 (partie basse) 31007524 8/2010 INT, UINT, WORD Premier d'un bloc de registres de sortie successifs dans lesquels sont mémorisés les paramètres de la sous-fonction définie Pour plus d'informations, reportez-vous à Bloc de paramètres (partie médiane), page 862. INT, UINT Longueur du bloc de paramètres de la sous-fonction ALARM (ne peut pas être changée) Sortie haute 0x Aucun Activée = opération réussie Sortie basse 0x Aucun Activée = erreur 861 PCFL-ALARM : gestionnaire central d'alarmes Description des paramètres Mode de fonctionnement Les modes de fonctionnement suivants sont disponibles. Mode Signification Mode de fonctionnement normal ALARM fonctionne directement sur l'entrée. Le mode normal est celui par défaut. Mode de fonctionnement écart ALARM agit sur le changement entre l'entrée actuelle et l'entrée précédente. Plage neutre Lorsqu'elle est validée, l'option PN est incorporée aux seuils HM/H/BM/B. Ces seuils calculés comportent les limites les plus extrêmes ; par exemple si l'entrée a été dans la limite haute, la sortie reste haute et ne change pas lorsque l'entrée atteint le seuil H. Fonctionnement Un drapeau est activé lorsque l'entrée ou l'écart est égal ou dépasse le seuil correspondant. Si l'option PN est utilisée, les seuils HM, H, BM et B sont réglés en interne pour le contrôle de franchissement de seuil et l'hystérésis. NOTE : ALARM suit automatiquement la dernière entrée même si vous définissez le mode normal pour faciliter un changement en douceur vers le mode écart. Bloc de paramètres (partie médiane) La longueur du bloc de paramètres ALARM est de 16 registres. Registre Contenu Affiché et premier implicite Registres d'entrée Deuxième implicite Etat de sortie Troisième implicite Etat d'entrée Quatrième et cinquième implicite Valeur seuil HM Sixième et septième implicite Valeur seuil H Huitième et neuvième implicite Valeur seuil B 862 10ème et 11ème implicite Valeur seuil BM 12ème et 13ème implicite Plage neutre (PN) au voisinage du seuil 14ème et 15ème implicite Dernière entrée 31007524 8/2010 PCFL-ALARM : gestionnaire central d'alarmes Etat de sortie Bit Fonction 1à4 Inutilisé 5 1 = PN mise à un nombre négatif 6 1 = mode écart choisi avec option PN 7 1 = BM franchi (x ≤ BM) 8 1 = B franchi (x ≤ B, ou BM < x ≤ B) avec option HM/BM validée 9 1 = H franchi (x ≥ H, ou H ≤ x < HM) avec option HM/BM validée 10 1 = HM franchi (x ≥ HM) 11 1 = seuils définis invalides 12 à 16 Bits des sorties normales (drapeaux) Bit Fonction Etat d'entrée 31007524 8/2010 1à4 Bits d'entrées normales (drapeaux) 5 1 = mode écart 0 = mode normal 6 1 = les deux seuils H/B et HM/BM s'appliquent 7 1 = PN validée 8 1 = conserve le drapeau H/B lorsque les seuils HM/BM sont franchis 9 à 16 Inutilisé 863 PCFL-ALARM : gestionnaire central d'alarmes 864 31007524 8/2010 PCFL-AOUT : sortie analogique 31007524 8/2010 PCFL-AOUT : sortie analogique 132 Introduction Ce chapitre décrit la sous-fonction PCFL-AOUT. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 866 Représentation 867 Description des paramètres 868 865 PCFL-AOUT : sortie analogique Description sommaire Description de la fonction NOTE : Cette instruction est une sous-fonction de l'instruction PCFL. Elle fait partie de la catégorie Traitement du signal. La fonction AOUT est une interface des signaux calculés des modules de sortie. Elle convertit le signal en une valeur dans la plage 0 à 4 096. Formules Formule de la fonction AOUT : Signification des éléments : 866 Elément Signification UPH Unité physique haute IN Entrée UPB Unité physique basse OUT Sortie échelle Echelle 31007524 8/2010 PCFL-AOUT : sortie analogique Représentation Symbole Représentation de l'instruction Description des paramètres Paramètres Référence de Type de mémoire données d'état Signification Entrée haute 0x, 1x Activée = déclenche la fonction de régulation de procédés définie Aucun AOUT (partie haute) Bloc de paramètres (partie médiane) Sélection de la sous-fonction AOUT 4x 9 (partie basse) 31007524 8/2010 INT, UINT Premier d'un bloc de registres de sortie successifs dans lesquels sont mémorisés les paramètres de la sous-fonction définie Pour plus d'informations, reportez-vous à la section Bloc de paramètres (partie médiane), page 868. INT, UINT Longueur du bloc de paramètres de la sous-fonction AOUT (ne peut être modifiée) Sortie haute 0x Aucun Activée = opération réussie Sortie basse 0x Aucun Activée = erreur 867 PCFL-AOUT : sortie analogique Description des paramètres Bloc de paramètres (partie médiane) La longueur du bloc de paramètres de AOUT est de 9 registres. Registre Contenu Affiché et premier implicite Entrée en unités physiques Deuxième implicite Etat de sortie Troisième implicite Etat d'entrée Quatrième et cinquième implicite Unités physiques hautes Sixième et septième implicite Unités physiques basses Huitième et neuvième implicite Sortie Etat de sortie Bit Fonction 1à7 Inutilisé 8 1 = blocage bas 9 1 = blocage haut 10 Inutilisé 11 1 = seuils H/B invalides 12 à 16 Bits des sorties normales (drapeaux) Bit Fonction Etat d'entrée 868 1à4 Bits d'entrées normales (drapeaux) 5 à 16 Inutilisé 31007524 8/2010 PCFL-AVER : moyenne des entrées pondérées 31007524 8/2010 PCFL-AVER : moyenne des entrées pondérées 133 Introduction Ce chapitre décrit la sous-fonction PCFL-AVER. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 870 Représentation 871 Description des paramètres 872 869 PCFL-AVER : moyenne des entrées pondérées Description sommaire Description de la fonction NOTE : Cette instruction est une sous-fonction de l'instruction PCFL. Elle fait partie de la catégorie Calculs avancés. La fonction AVER calcule la moyenne de 4 entrées pondérées maximum. Formules Formule de la fonction AVER : Signification des éléments : 870 Elément Signification In1 à In4 Entrées k Constante RES Résultat w1 à w4 Poids 31007524 8/2010 PCFL-AVER : moyenne des entrées pondérées Représentation Symbole Représentation de l'instruction Description des paramètres Paramètres Référence de Type de mémoire données d'état Signification Entrée haute 0x, 1x Activée = déclenche la fonction de régulation de procédés définie Aucun AVER (partie haute) Bloc de paramètres (partie médiane) Sélection de la sous-fonction AVER 4x 24 (partie basse) 31007524 8/2010 INT, UINT Premier d'un bloc de registres de sortie successifs dans lesquels sont mémorisés les paramètres de la sous-fonction définie Pour plus d'informations, reportez-vous à la section Bloc de paramètres (partie médiane), page 872. INT, UINT Longueur du bloc de paramètres de la sous-fonction AVER (ne peut pas être changée) Sortie haute 0x Aucun Activée = opération réussie Sortie basse 0x Aucun Activée = erreur 871 PCFL-AVER : moyenne des entrées pondérées Description des paramètres Bloc de paramètres (partie médiane) La longueur du bloc de paramètres AVER est de 24 registres. Registre Contenu Affiché et premier implicite réservé Deuxième implicite Etat de sortie Troisième implicite Etat d'entrée Quatrième et cinquième implicite Valeur de l'entrée 1 (ln1) Sixième et septième implicite Valeur de l'entrée 2 (ln2) Huitième et neuvième implicite Valeur de l'entrée 3 (ln3) 10ème et 11ème implicite Valeur de l'entrée 4 (ln4) 12ème et 13ème implicite Valeur de k 14ème et 15ème implicite Valeur de wv1 16ème et 17ème implicite Valeur de wv2 18ème et 19ème implicite Valeur de wv3 20ème et 21ème implicite Valeur de wv4 22ème et 23ème implicite Valeur du résultat Etat de sortie Bit 872 Fonction 1à9 Inutilisé 10 1 = aucune entrée activée 11 1 = résultat négatif 0 = résultat positif 12 à 16 Bits des sorties normales (drapeaux) 31007524 8/2010 PCFL-AVER : moyenne des entrées pondérées Etat d'entrée Bit Fonction 1à4 Bits d'entrées normales (drapeaux) 5 1 = ln4 et w4 utilisés 6 1 = ln3 et w3 utilisés 7 1 = ln2 et w2 utilisés 8 1 = ln1 et w1 utilisés 9 1 = k est actif 10 à 16 Inutilisé Un coefficient de pondération ne peut être utilisé que si son entrée correspondante est validée, c'est-à-dire que les 20ème et 21ème registres implicites (lesquels contiennent la valeur de w4) ne peuvent être utilisés que si les 10ème et 11ème registres implicites (lesquels contiennent la valeur de l'entrée 4) sont validés. Le I du dénominateur n'est utilisé que si la constante est validée. 31007524 8/2010 873 PCFL-AVER : moyenne des entrées pondérées 874 31007524 8/2010 PCFL-CALC : calcul d'une formule prédéfinie 31007524 8/2010 PCFL-CALC : calcul d'une formule prédéfinie 134 Introduction Ce chapitre décrit la sous-fonction PCFL-CALC. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 876 Représentation 877 Description des paramètres 878 875 PCFL-CALC : calcul d'une formule prédéfinie Description sommaire Description de la fonction NOTE : Cette instruction est une sous-fonction de l'instruction PCFL. Elle fait partie de la catégorie Calculs avancés. La fonction CALC calcule une formule prédéfinie comportant quatre entrées maxi, chacune caractérisée dans un registre distinct du bloc de paramètres. 876 31007524 8/2010 PCFL-CALC : calcul d'une formule prédéfinie Représentation Symbole Représentation de l'instruction Description des paramètres Paramètres Référence de Type de données mémoire d'état Signification Entrée haute 0x, 1x Activée = déclenche la fonction de régulation de procédés définie Aucun CALC (partie haute) Bloc de paramètres (partie médiane) Sélection de la sous-fonction CALC 4x 14 (partie basse) 31007524 8/2010 INT, UINT Premier d'un bloc de registres de sortie successifs dans lesquels sont mémorisés les paramètres de la sous-fonction définie Pour plus d'informations, reportez-vous à la section Bloc de paramètres (partie médiane), page 878. INT, UINT Longueur du bloc de paramètres de la sous-fonction CALC (ne peut être modifiée) Sortie haute 0x Aucun Activée = opération réussie Sortie basse 0x Aucun Activée = erreur 877 PCFL-CALC : calcul d'une formule prédéfinie Description des paramètres Bloc de paramètres (partie médiane) La longueur du bloc de paramètres CALC est de 14 registres. Registre Contenu Affiché et premier implicite Réservé Deuxième implicite Etat de sortie Troisième implicite Etat d'entrée Quatrième et cinquième implicite Valeur de l'entrée A Sixième et septième implicite Valeur de l'entrée B Huitième et neuvième implicite Valeur de l'entrée C 10ème et 11ème implicite Valeur de l'entrée D 12ème et 13ème implicite Valeur de la sortie Etat de sortie Bit 878 Fonction 1 à 10 Inutilisé 11 1 = choix de code d'entrée incorrect 12 à 16 Bits des sorties normales (drapeaux) 31007524 8/2010 PCFL-CALC : calcul d'une formule prédéfinie Etat d'entrée Bit Fonction 1à4 Bits d'entrées normales (drapeaux) 5à6 Inutilisé 7 à 10 Code de formule 11 à 16 Inutilisé Code de formule Bit 31007524 8/2010 Code de formule 7 8 9 10 0 0 0 1 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 879 PCFL-CALC : calcul d'une formule prédéfinie 880 31007524 8/2010 PCFL-DELAY : file d'attente de retard temporel 31007524 8/2010 PCFL-DELAY : file d'attente de retard temporel 135 Introduction Ce chapitre décrit la sous-fonction PCFL-DELAY. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 882 Représentation 883 Description des paramètres 884 881 PCFL-DELAY : file d'attente de retard temporel Description sommaire Description de la fonction NOTE : Cette instruction est une sous-fonction de l'instruction PCFL. Elle fait partie de la catégorie Traitement du signal. La fonction DELAY peut être utilisée afin de constituer une série de lectures pour compensation de retards temporels dans le programme. Il est possible d'utiliser jusqu'à 10 durées de base pour retarder une entrée. Toutes les valeurs sont placées en même temps dans des registres, le registre x[0] contenant l'entrée actuellement échantillonnée. La 10ème durée de retard n'a pas besoin d'être mémorisée. Lorsque la 10ème durée de la séquence prend effet, la valeur du registre x[9] peut être directement copiée sur la sortie. Un message DXDONE est retourné lorsque le calcul est terminé. La fonction peut être réinitialisée en basculant le bit de premier cycle. 882 31007524 8/2010 PCFL-DELAY : file d'attente de retard temporel Représentation Symbole Représentation de l'instruction Description des paramètres Paramètres Référence de Type de mémoire données d'état Signification Entrée haute 0x, 1x Activée = déclenche la fonction de régulation de procédés définie Aucun DELY (partie haute) Bloc de paramètres (partie médiane) Sélection de la sous-fonction DELY 4x 32 (partie basse) 31007524 8/2010 INT, UINT Premier d'un bloc de registres de sortie successifs dans lesquels sont mémorisés les paramètres de la sous-fonction définie Pour plus d'informations, reportez-vous à la section Bloc de paramètres (partie médiane), page 884. INT, UINT Longueur du bloc de paramètres de la sous-fonction DELY (ne peut pas être changée) Sortie haute 0x Aucun Activée = opération réussie Sortie basse 0x Aucun Activée = erreur 883 PCFL-DELAY : file d'attente de retard temporel Description des paramètres Bloc de paramètres (partie médiane) La longueur du bloc de paramètres DELAY est de 32 registres. Registre Contenu Affiché et premier implicite Entrée au temps n Deuxième implicite Etat de sortie Troisième implicite Etat d'entrée Quatrième implicite Registre de temps Cinquième implicite Réservé Sixième et septième implicite Δt (en ms) depuis la dernière exécution Huitième et neuvième implicite Intervalle de résolution (en ms) 10ème et 11ème implicite Retard x[0] 12ème et 13ème implicite Retard x[1] 14ème et 15ème implicite Retard x[2] ... ... 28ème et 29ème implicite Retard x[9] 30ème et 31ème implicite Registres de sortie Etat de sortie Bit Fonction 1à3 Inutilisé 4 1 = k hors limites 5à8 Nombre de registres restant à initialiser 9 à 16 Bits des sorties normales (drapeaux) Bit Fonction Etat d'entrée 884 1à4 Bits d'entrées normales (drapeaux) 5à8 Retard temporel ≤ 10 9 à 11 Nombre de registres restant à initialiser 12 à 16 Inutilisé 31007524 8/2010 PCFL-EQN : Calculateur d'équations formatées 31007524 8/2010 PCFL-EQN : calculateur d'équations formatées 136 Introduction Ce chapitre décrit la sous-fonction PCFL-EQN. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 886 Représentation 887 Description des paramètres 888 885 PCFL-EQN : Calculateur d'équations formatées Description sommaire Description de la fonction NOTE : Cette instruction est une sous-fonction de l'instruction PCFL. Elle fait partie de la catégorie Calculs avancés. La fonction EQN est un calculateur d'équation formatée. Vous devez définir l'équation située dans le bloc de paramètres avec différents codes précisant les opérateurs, l'entrée choisie et les variables. EQN sert aux équations ayant quatre variables ou moins, mais n'entrant pas dans le format CALC. Elle complète la fonction CALC en vous permettant de saisir une équation avec variables entières et virgule flottante ainsi que les opérateurs. 886 31007524 8/2010 PCFL-EQN : Calculateur d'équations formatées Représentation Symbole Représentation de l'instruction Description des paramètres Paramètres Référence de Type de mémoire données d'état Signification Entrée haute 0x, 1x Activée = déclenche la fonction de régulation de procédés définie Aucun EQN (partie haute) Bloc de paramètres (partie médiane) Sélection de la sous-fonction EQN 4x 15 ... 64 (partie basse) 31007524 8/2010 INT, UINT Premier d'un bloc de registres de sortie successifs dans lesquels sont mémorisés les paramètres de la sous-fonction définie Pour plus d'informations, reportez-vous à la section Bloc de paramètres (partie médiane), page 888. INT, UINT Longueur du bloc de paramètres de la sous-fonction EQN Sortie haute 0x Aucun Activée = opération réussie Sortie basse 0x Aucun Activée = erreur 887 PCFL-EQN : Calculateur d'équations formatées Description des paramètres Bloc de paramètres (partie médiane) La longueur du bloc de paramètres EQN peut aller jusqu'à 64 registres. Registre Contenu Affiché et premier implicite Réservé Deuxième implicite Etat de sortie Troisième implicite Etat d'entrée Quatrième et cinquième implicite Variable A Sixième et septième implicite Variable B Huitième et neuvième implicite Variable C 10ème et 11ème implicite Variable D 12ème et 13ème implicite Sortie 14ème implicite Premier code de formule 15ème implicite Deuxième code de formule possible ... ... 63ème implicite Dernier code de formule possible Etat de sortie 888 Bit Fonction 1 Erreur de pile 2à3 Inutilisé 4à8 Code de la dernière erreur mémorisée 9 1 = code de choix d'opérateur incorrect 10 1 = programmation EQN incomplète 11 1 = choix de code d'entrée incorrect 12 à 16 Bits des sorties normales (drapeaux) 31007524 8/2010 PCFL-EQN : Calculateur d'équations formatées Etat d'entrée Bit Fonction 1à4 Bits d'entrées normales (drapeaux) 5 1 = option degré/radian pour les opérations trigonométriques 6à8 Inutilisé 9 à 16 Taille de l'équation pour affichage dans Concept Code de formule Chaque code de formule dans la fonction EQN définit soit un code de sélection d'entrée, soit un code de sélection d'opérateur. Code de formule (bloc de paramètres) Bit Fonction 1à4 Inutilisé 5à8 Définition de la sélection d'entrée 9 à 11 Inutilisé 12 à 16 Définition de la sélection d'opérateur Sélection des entrées Bit 31007524 8/2010 Sélection des entrées 5 6 7 8 0 0 0 0 Utiliser sélection d'opérateur 0 0 0 1 Entrée VF 0 0 1 1 Entier 16 bits 1 0 0 0 Variable A 1 0 0 1 Variable B 1 0 1 0 Variable C 1 0 1 1 Variable D 889 PCFL-EQN : Calculateur d'équations formatées Sélection d'opérateur Bit 890 Sélection d'opérateur 12 13 14 15 16 0 0 0 0 0 Pas d'opération 0 0 0 0 1 Valeur absolue 0 0 0 1 0 Addition 0 0 0 1 1 Division 0 0 1 0 0 Exposant 0 0 1 1 1 LN (logarithme népérien) 0 1 0 0 0 G (logarithme) 0 1 0 0 1 Multiplication 0 1 0 1 0 Négation 0 1 0 1 1 Puissance 0 1 1 0 0 Racine carrée 0 1 1 0 1 Soustraction 0 1 1 1 0 Sinus 0 1 1 1 1 Cosinus 1 0 0 0 0 Tangente 1 0 0 0 1 Arcsinus 1 0 0 1 0 Arccosinus 1 0 0 1 1 Arctangente 31007524 8/2010 PCFL-INTEG : intégration d'entrées à intervalles définis 31007524 8/2010 PCFL-INTEG : intégration d'entrées à intervalles définis 137 Introduction Ce chapitre décrit la sous-fonction PCFL-INTEG. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 892 Représentation 893 Description des paramètres 894 891 PCFL-INTEG : intégration d'entrées à intervalles définis Description sommaire Description de la fonction NOTE : Cette instruction est une sous-fonction de l'instruction PCFL. Elle fait partie de la catégorie Traitement du signal. La fonction INTEG permet d'intégrer sur un intervalle de temps défini. Il n'existe pas de protection contre la saturation de l'intégrale dans cette fonction. INTEG est fonction du temps, par exemple si vous intégrez une valeur d'entrée de 1/sec, tout dépend si elle s'applique sur une seconde (auquel cas le résultat vaut 1) ou sur une minute (auquel cas le résultat est 60). Vous pouvez définir des drapeaux soit pour initialiser soit pour redémarrer la fonction après un temps d'arrêt indéterminé, et vous pouvez remettre à zéro la somme de l'intégrale si vous le souhaitez. Si vous positionnez le drapeau initialisation, vous devez indiquer la valeur initiale (zéro ou la dernière sortie en cas de coupure secteur), et les calculs seront ignorés pour une itération. La fonction retourne un message DXDONE lorsque l'opération est achevée. 892 31007524 8/2010 PCFL-INTEG : intégration d'entrées à intervalles définis Représentation Symbole Représentation de l'instruction Description des paramètres Paramètres Référence de Type de données mémoire d'état Signification Entrée haute 0x, 1x Activée = déclenche la fonction de régulation de procédés définie Aucun INTG (partie haute) Bloc de paramètres (partie médiane) Sélection de la sous-fonction INTEG 4x 16 (partie basse) 31007524 8/2010 INT, UINT Premier d'un bloc de registres de sortie successifs dans lesquels sont mémorisés les paramètres de la sous-fonction définie Pour plus d'informations, reportez-vous à la section Bloc de paramètres (partie médiane), page 894. INT, UINT Longueur du bloc de paramètres de la sous-fonction INTEG (ne peut pas être changée) Sortie haute 0x Aucun Activée = opération réussie Sortie basse 0x Aucun Activée = erreur 893 PCFL-INTEG : intégration d'entrées à intervalles définis Description des paramètres Bloc de paramètres (partie médiane) La longueur du bloc de paramètres INTEG est de 16 registres. Registre Contenu Affiché et premier implicite Entrée courante Deuxième implicite Etat de sortie Troisième implicite Etat d'entrée Quatrième implicite Registre de temps Cinquième implicite Réservé Sixième et septième implicite Δt (en ms) depuis la dernière exécution Huitième et neuvième implicite Intervalle de résolution (en ms) 10ème et 11ème implicite Dernière entrée 12ème et 13ème implicite Valeur d'initialisation 14ème et 15ème implicite Résultat Etat de sortie Bit Fonction 1à8 Inutilisé 9 à 16 Bits des sorties normales (drapeaux) Bit Fonction 1à4 Bits d'entrées normales (drapeaux) Etat d'entrée 894 5 Somme d'initialisation 6 à 16 Inutilisé 31007524 8/2010 PCFL-KPID : PID ISA complet non interactif 31007524 8/2010 PCFL-KPID : PID ISA complet non interactif 138 Introduction Ce chapitre décrit la sous-fonction PCFL-KPID. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 896 Représentation 897 Description des paramètres 898 895 PCFL-KPID : PID ISA complet non interactif Description sommaire Description de la fonction NOTE : Cette instruction est une sous-fonction de l'instruction PCFL. Elle fait partie de la catégorie Régulation. La fonction KPID offre une amélioration de la fonctionnalité de la fonction PID, grâce aux caractéristiques supplémentaires : z zone de réduction de gain z registre distinct pour les transferts sans mémoire annexe lorsque le terme intégral n'est pas utilisé z mode d'initialisation z consigne externe pour régulation en cascade z limiteurs de vitesse intégrés pour les changements de consigne et changements en sortie manuelle z constante ajustable de filtre dérivée z extension en option des limites d'anti-saturation 896 31007524 8/2010 PCFL-KPID : PID ISA complet non interactif Représentation Symbole Représentation de l'instruction Description des paramètres Paramètres Référence de Type de données mémoire d'état Signification Entrée haute 0x, 1x Activée = déclenche la fonction de régulation de procédés définie Aucun KPID (partie haute) Bloc de paramètres (partie médiane) Sélection de la sous-fonction KPID 4x 64 (partie basse) 31007524 8/2010 INT, UINT Premier d'un bloc de registres de sortie successifs dans lesquels sont mémorisés les paramètres de la sous-fonction définie Pour plus d'informations, reportez-vous à la section Bloc de paramètres (partie médiane), page 898. INT, UINT Longueur du bloc de paramètres de la sous-fonction KPID (ne peut pas être changée) Sortie haute 0x Aucun Activée = opération réussie Sortie basse 0x Aucun Activée = erreur 897 PCFL-KPID : PID ISA complet non interactif Description des paramètres Bloc de paramètres (partie médiane) La longueur du bloc de paramètres KPID est de 64 registres. Registre Paramètres généraux Paramètres d'entrée Entrées 898 Contenu Affiché et premier implicite Entrée réelle, x Deuxième implicite Etat des sorties, registre 1 Troisième implicite Etat des sorties, registre 2 Quatrième implicite Réservé Cinquième implicite Etat d'entrée Sixième et septième implicite Facteur proportionnel, KP Huitième et neuvième implicite Temps intégrale, TI 10ème et 11ème implicite Durée d'action dérivée, TD 12ème et 13ème implicite Constante de temps de retard, TD1 14ème et 15ème implicite Zone de réduction de gain, ZRG 16ème et 17ème implicite Réduction de gain dans ZRG, KZRG 18ème et 19ème implicite Accroissement limite de la valeur de consigne manuelle 20ème et 21ème implicite Accroissement limite de la sortie manuelle 22ème et 23ème implicite Limite haute de Y 24ème et 25ème implicite Limite basse de Y 26ème et 27ème implicite Extension des limites d'anti-saturation de l'intégrale 28ème et 29ème implicite Consigne externe pour cascade 30ème et 31ème implicite Consigne manuelle 32ème et 33ème implicite Entrée manuelle Y 34ème et 35ème implicite Initialisation de Y 36ème et 37ème implicite Pied (Bias) 31007524 8/2010 PCFL-KPID : PID ISA complet non interactif Registre Sorties Informations temporelles Sortie Contenu 38ème et 39ème implicite Registre de transfert sans mémoire, BT 40ème et 41ème implicite Différence de régulation calculée (terme d'erreur), XD 42ème implicite Mode de fonctionnement précédent 43ème et 44ème implicite Temps de retard (en ms) depuis la dernière exécution 45ème et 46ème implicite Précédent écart système, XD_1 47ème et 48ème implicite Entrée précédente, X_1 49ème et 50ème implicite Composante intégrale de Y, YI 51ème et 52ème implicite Composante différentielle de Y, YD 53ème et 54ème implicite Consigne, C 55ème et 56ème implicite Composante proportionnelle de Y, YP 57ème implicite Etat de fonctionnement précédent 58ème implicite 10 ms d'horloge à l'instant n 59ème implicite Réservé 60ème et 61ème implicite Intervalle de résolution (en ms) 62ème et 63ème implicite Sortie régulée, Y Etat des sorties, registre 1 31007524 8/2010 Bit Fonction 1 Erreur 2 1 = Limite basse franchie 3 1 = Limite haute franchie 4 1 = Sélection mode cascade 5 1 = Sélection mode auto 6 1 = Sélection mode arrêt 7 1 = Sélection mode manuel 8 1 = Sélection mode initialisation 9 à 16 Bits des sorties normales (drapeaux) 899 PCFL-KPID : PID ISA complet non interactif Etat des sorties, registre 2 Bit Fonction 1à4 Inutilisé 5 1 = Mode précédent D sélectionné 6 1 = Mode précédent I sélectionné 7 1 = Mode précédent P sélectionné 8 1 = Sélection mode précédent 9 à 16 Inutilisé Bit Fonction 1à4 Bits d'entrées normales (drapeaux) 5 1 = Mode initialisation 6 1 = Mode manuel 7 1 = Mode arrêté 8 1 = Mode cascade Etat d'entrée 900 9 1 = Exécution algorithme proportionnelle 10 1 = Exécution algorithme intégrale 11 1 = Exécution algorithme dérivée 12 1 = Exécution algorithme dérivée sur base x 0 = Exécution algorithme dérivée sur base xd 13 1 = Anti-saturation seulement sur YI 0 = Anti-saturation normale intégrale 14 1 = Transfert sans mémoire invalidé 0 = Transfert sans mémoire 15 1 = Suivi Y manuel Y 16 1 = Action inverse de sortie de boucle 0 = Action directe de sortie de boucle 31007524 8/2010 PCFL-LIMIT : Limite de Vp 31007524 8/2010 PCFL-LIMIT : Limite de Vp 139 Introduction Ce chapitre décrit la sous-fonction PCFL-LIMIT. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 902 Représentation 903 Description des paramètres 904 901 PCFL-LIMIT : Limite de Vp Description sommaire Description de la fonction NOTE : Cette instruction est une sous-fonction de l'instruction PCFL. Elle fait partie de la catégorie Traitement du signal. La fonction LIMIT limite l'entrée dans une plage entre des valeurs haute et basse définies. Si la limite haute ou basse est atteinte, la fonction positionne un drapeau H ou B et borne la sortie. LIMIT retourne un message DXDONE lorsque l'opération est terminée. 902 31007524 8/2010 PCFL-LIMIT : Limite de Vp Représentation Symbole Représentation de l'instruction Description des paramètres Paramètres Référence de Type de mémoire données d'état Signification Entrée haute 0x, 1x Activée = déclenche la fonction de régulation de procédés définie Aucun LIMIT (partie haute) Bloc de paramètres (partie médiane) Sélection de la sous-fonction LIMIT 4x 9 (partie basse) 31007524 8/2010 INT, UINT Premier d'un bloc de registres de sortie successifs dans lesquels sont mémorisés les paramètres de la sous-fonction définie Pour plus d'informations, reportez-vous à la section Bloc de paramètres (partie médiane), page 904. INT, UINT Longueur du bloc de paramètres de la sous-fonction LIMIT (ne peut pas être changée) Sortie haute 0x Aucun Activée = opération réussie Sortie basse 0x Aucun Activée = erreur 903 PCFL-LIMIT : Limite de Vp Description des paramètres Bloc de paramètres (partie médiane) La longueur du bloc de paramètres LIMIT est de 9 registres. Registre Contenu Affiché et premier implicite Entrée courante Deuxième implicite Etat de sortie Troisième implicite Etat d'entrée Quatrième et cinquième implicite Limite basse Sixième et septième implicite Limite haute Huitième implicite Registre de sortie Etat de sortie Bit Fonction 1à8 Inutilisé 9 1 = entrée < limite basse 10 1 = entrée > limite haute 11 1 = limites haute/basse invalides (par exemple basse ≥ haute) 12 à 16 Bits des sorties normales (drapeaux) Bit Fonction 1à4 Bits d'entrées normales (drapeaux) 5 à 16 Inutilisé Etat d'entrée 904 31007524 8/2010 PCFL-LIMV : limite de la vitesse de variation de VP 31007524 8/2010 PCFL-LIMV : limite de la vitesse de variation de VP 140 Introduction Ce chapitre décrit la sous-fonction PCFL-LIMV. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 906 Représentation 907 Description des paramètres 908 905 PCFL-LIMV : limite de la vitesse de variation de VP Description sommaire Description de la fonction NOTE : Cette instruction est une sous-fonction de l'instruction PCFL. Elle fait partie de la catégorie Traitement du signal. La fonction LIMV limite la vitesse de variation de la variable d'entrée entre des valeurs haute et basse définies. Si la limite haute ou basse est atteinte, la fonction positionne un drapeau H ou B et borne la sortie. LIMV retourne un message DXDONE lorsque l'opération est terminée. 906 31007524 8/2010 PCFL-LIMV : limite de la vitesse de variation de VP Représentation Symbole Représentation de l'instruction Description des paramètres Paramètres Référence de Type de mémoire données d'état Signification Entrée haute 0x, 1x Activée = déclenche la fonction de régulation de procédés définie Aucun LIMV (partie haute) Bloc de paramètres (partie médiane) Sélection de la sous-fonction LIMV 4x 14 (partie basse) 31007524 8/2010 INT, UINT Premier d'un bloc de registres de sortie successifs dans lesquels sont mémorisés les paramètres de la sous-fonction définie Pour plus d'informations, reportez-vous à la section Bloc de paramètres (partie médiane), page 908. INT, UINT Longueur du bloc de paramètres de la sous-fonction LIMV (ne peut pas être changée) Sortie haute 0x Aucun Activée = opération réussie Sortie basse 0x Aucun Activée = erreur 907 PCFL-LIMV : limite de la vitesse de variation de VP Description des paramètres Bloc de paramètres (partie médiane) La longueur du bloc de paramètres LIMV est de 14 registres. Registre Contenu Affiché et premier implicite Registre d'entrée Deuxième implicite Etat de sortie Troisième implicite Etat d'entrée Quatrième implicite Registre de temps Cinquième implicite Réservé Sixième et septième implicite Δt (en ms) depuis la dernière exécution Huitième et neuvième implicite Intervalle de résolution (en ms) 10ème et 11ème implicite Limite de vitesse / sec 12ème et 13ème implicite Résultat Etat de sortie Bit Fonction 1à5 Inutilisé 6 1 = limite de vitesse négative 7 1 = entrée < limite basse 8 1 = entrée > limite haute 9 à 16 Bits des sorties normales (drapeaux) Bit Fonction 1à4 (voir page 851)Bits d'entrées normales (drapeaux) 5 à 16 Inutilisé Etat d'entrée 908 31007524 8/2010 PCFL-LKUP : table de conversion 31007524 8/2010 PCFL-LKUP : table de conversion 141 Introduction Ce chapitre décrit la sous-fonction PCFL-LKUP. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 910 Représentation 911 Description des paramètres 912 909 PCFL-LKUP : table de conversion Description sommaire Description de la fonction NOTE : Cette instruction est une sous-fonction de l'instruction PCFL. Elle fait partie de la catégorie Traitement du signal. La fonction LKUP établit une linéarisation par interpolation à l'aide d'un algorithme linéaire d'interpolation entre points. LKUP peut traiter des intervalles variables entre les points et des nombres variables de points. 910 31007524 8/2010 PCFL-LKUP : table de conversion Représentation Symbole Représentation de l'instruction Description des paramètres Paramètres Référence de Type de mémoire données d'état Signification Entrée haute 0x, 1x Activée = déclenche la fonction de régulation de procédés définie Aucun LKUP (partie haute) Bloc de paramètres (partie médiane) Sélection de la sous-fonction LKUP 4x 39 (partie basse) 31007524 8/2010 INT, UINT Premier d'un bloc de registres de sortie successifs dans lesquels sont mémorisés les paramètres de la sous-fonction définie (Pour plus d'informations, reportez-vous à la section Bloc de paramètres (partie médiane), page 913.) INT, UINT Longueur du bloc de paramètres de la sous-fonction LKUP (ne peut pas être changée) Sortie haute 0x Aucun Activée = opération réussie Sortie basse 0x Aucun Activée = erreur 911 PCFL-LKUP : table de conversion Description des paramètres Mode de fonctionnement La fonction LKUP établit une linéarisation par interpolation à l'aide d'un algorithme linéaire d'interpolation entre points. LKUP peut traiter des intervalles variables entre les points et des nombres variables de points. Si l'entrée (x) se trouve en dehors de la plage de points définie, la sortie (y) est bornée à la sortie correspondante y0 ou yn. Si la longueur du bloc de paramètres définie est trop courte ou si le nombre de points est hors limites, la fonction ne contrôle pas xn car les informations de ce pointeur sont invalides. Les points à interpoler sont déterminés par un algorithme binaire de recherche débutant près du centre des données x. La recherche est valide pour x1 < x < xn. La variable x peut apparaître plusieurs fois avec la même valeur ; la valeur choisie dans la linéarisation par interpolation est la première occurrence trouvée. Par exemple, si la table est la suivante : x y 10,0 1,0 20,0 2,0 30,0 3,0 30,0 3,5 40,0 4,0 une entrée de 30,0 trouvera alors la première occurrence de 30,0 et affectera 3,0 en sortie. Une entrée de 31,0 affecterait la valeur 3,55 en sortie. Aucun tri n'est effectué sur le contenu de la linéarisation par interpolation. Différentes valeurs de table indépendantes doivent être saisies dans l'ordre croissant afin d'éviter des intervalles inaccessibles dans la table. La fonction retourne un message DXDONE lorsque l'opération est achevée. 912 31007524 8/2010 PCFL-LKUP : table de conversion Bloc de paramètres (partie médiane) La longueur du bloc de paramètres LKUP est de 39 registres. Registre Contenu Affiché et premier implicite Entrée Deuxième implicite Etat de sortie Troisième implicite Etat d'entrée, page 913Etat d'entrée Quatrième implicite Nombre de couples de points Cinquième et sixième implicite Point x1 Septième et huitième implicite Point y1 Neuvième et dixième implicite Point x2 11ème et 12ème implicite ... Point y2 ... 33ème et 34ème implicite Point x8 35ème et 36ème implicite Point y8 37ème et 38ème implicite Sortie Etat de sortie Bit Fonction 1à9 Inutilisé 10 1 = entrée bornée, c'est-à-dire en dehors de la plage de la table 11 ! = nombre de points invalide 12 à 16 Bits des sorties normales (drapeaux) Bit Fonction Etat d'entrée 31007524 8/2010 1à4 Bits d'entrées normales (drapeaux) 5 à 16 Inutilisé 913 PCFL-LKUP : table de conversion 914 31007524 8/2010 PCFL-LLAG : Filtre avance/retard du premier ordre 31007524 8/2010 PCFL-LLAG : Filtre avance/retard du premier ordre 142 Introduction Ce chapitre décrit la sous-fonction PCFL-LLAG. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 916 Représentation 917 Description des paramètres 918 915 PCFL-LLAG : Filtre avance/retard du premier ordre Description sommaire Description de la fonction NOTE : Cette instruction est une sous-fonction de l'instruction PCFL. Elle fait partie de la catégorie Traitement du signal. La fonction LLAG offre une compensation dynamique à une perturbation connue. Elle apparaît généralement dans un algorithme de commande anticipative ou comme filtre dynamique. LLAG fait passer l'entrée à travers un filtre comportant un terme d'avance (un numérateur) et un terme de retard (un dénominateur) dans le domaine de fréquence, puis la multiplie par un gain. Avance, retard, gain et intervalle de résolution doivent être définis par l'utilisateur. Pour de meilleurs résultats, donnez des valeurs d'avance et de retard ≥ 4 *Δt. Ceci assurera une granularité suffisante de la réponse de sortie. LLAG renvoie un message DXDONE lorsque l'opération est terminée. 916 31007524 8/2010 PCFL-LLAG : Filtre avance/retard du premier ordre Représentation Symbole Représentation de l'instruction Description des paramètres Paramètres Référence de Type de mémoire données d'état Signification Entrée haute 0x, 1x Activée = déclenche la fonction de régulation de procédés définie Aucun LLAG (partie haute) Bloc de paramètres (partie médiane) Sélection de la sous-fonction LLAG 4x 20 (partie basse) 31007524 8/2010 INT, UINT Premier d'un bloc de registres de sortie successifs dans lesquels sont mémorisés les paramètres de la sous-fonction définie (Pour plus d'informations, reportez-vous à la section Bloc de paramètres (partie médiane), page 918.) INT, UINT Longueur du bloc de paramètres de la sous-fonction LLAG (ne peut pas être changée) Sortie haute 0x Aucun Activée = opération réussie Sortie basse 0x Aucun Activée = erreur 917 PCFL-LLAG : Filtre avance/retard du premier ordre Description des paramètres Bloc de paramètres (partie médiane) La longueur du bloc de paramètres LLAG est de 20 registres. Registre Contenu Affiché et premier implicite Entrée courante Deuxième implicite Etat de sortie Troisième implicite Etat d'entrée Quatrième implicite Registre de temps Cinquième implicite Réservé Sixième et septième implicite Δt (en ms) depuis la dernière exécution Huitième et neuvième implicite Intervalle de résolution (en ms) 10ème et 11ème implicite Dernière entrée 12ème et 13ème implicite Terme d'avance 14ème et 15ème implicite Terme de retard 16ème et 17ème implicite Gain du filtre 18ème et 19ème implicite Résultat Etat de sortie Bit Fonction 1à8 Inutilisé 9 à 16 Bits des sorties normales (drapeaux) Bit Fonction 1à4 Bits d'entrées normales (drapeaux) 5 à 16 Inutilisé Etat d'entrée 918 31007524 8/2010 PCFL-MODE : configuration l'entrée en mode manuel ou automatique 31007524 8/2010 PCFL-MODE : configuration de l'entrée en mode manuel ou automatique 143 Introduction Ce chapitre décrit la sous-fonction PCFL-MODE. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 920 Représentation 921 Description des paramètres 922 919 PCFL-MODE : configuration l'entrée en mode manuel ou automatique Description sommaire Description de la fonction NOTE : Cette instruction est une sous-fonction de l'instruction PCFL. Elle fait partie de la catégorie Traitement du signal. La fonction MODE configure une station en manuel ou automatique pour valider ou invalider les transferts de données vers le bloc suivant. La fonction opère comme l'instruction BLKM, en copiant une valeur dans le registre de sortie. En mode auto, l'entrée est copiée sur la sortie. En mode manuel, la sortie est écrasée par une saisie de l'utilisateur. MODE retourne un message DXDONE lorsque l'opération est terminée. 920 31007524 8/2010 PCFL-MODE : configuration l'entrée en mode manuel ou automa- Représentation Symbole Représentation de l'instruction Description des paramètres Paramètres Référence de Type de mémoire données d'état Signification Entrée haute 0x, 1x Activée = déclenche la fonction de régulation de procédés définie Aucun MODE (partie haute) Bloc de paramètres (partie médiane) Sélection de la sous-fonction MODE 4x 8 (partie basse) 31007524 8/2010 INT, UINT Premier d'un bloc de registres de sortie successifs dans lesquels sont mémorisés les paramètres de la sous-fonction définie (Pour plus d'informations, reportez-vous à la section Bloc de paramètres (partie médiane), page 922.) INT, UINT Longueur du bloc de paramètres de la sous-fonction MODE (ne peut pas être changée) Sortie haute 0x Aucun Activée = opération réussie Sortie basse 0x Aucun Activée = erreur 921 PCFL-MODE : configuration l'entrée en mode manuel ou automatique Description des paramètres Bloc de paramètres (partie médiane) La longueur du bloc de paramètres MODE est de huit registres. Registre Contenu Affiché et premier implicite Entrée Deuxième implicite Etat de sortie Troisième implicite Etat d'entrée Quatrième et cinquième implicite Entrée manuelle Sixième et septième implicite Registre de sortie Etat de sortie Bit Fonction 1 à 10 Inutilisé 11 Mode Echo : 1 = mode manuel 0 = mode auto 12 à 16 Bits des sorties normales (drapeaux) Bit Fonction Etat d'entrée 922 1à4 Bits d'entrées normales (drapeaux) 5 1 = mode manuel 0 = mode auto 6 à 16 Inutilisé 31007524 8/2010 PCFL-ONOFF : valeurs activée/désactivée de la plage neutre 31007524 8/2010 PCFL-ONOFF : valeurs activée/ désactivée de la plage neutre 144 Introduction Ce chapitre décrit la sous-fonction PCFL-ONOFF. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 924 Représentation 925 Description des paramètres 926 923 PCFL-ONOFF : valeurs activée/désactivée de la plage neutre Description sommaire Description de la fonction NOTE : Cette instruction est une sous-fonction de l'instruction PCFL. Elle fait partie de la catégorie Régulation. La fonction ONOFF permet de commander le signal de sortie entre les niveaux complètement à 1 et complètement à 0, de sorte qu'un utilisateur puisse forcer manuellement la sortie à 1 ou à 0. Vous pouvez commander la sortie par configuration soit directe, soit inverse : Configuration Si l'entrée... Alors la sortie... Directe < (C - PN) 1 > (C + PN) 0 > (C + PN) 1 < (C - PN) 0 Inverse Forçage manuel Deux bits dans le registre d'état des entrées (le troisième registre implicite du bloc de paramètres) sont utilisés pour le forçage manuel. Lorsque le bit 6 est mis à 1, le mode manuel est forcé. En mode manuel, un 0 dans le bit 7 force la sortie à 0, et un 1 dans le bit 7 force la sortie à 1. L'état du bit 7 n'a de signification qu'en mode manuel. 924 31007524 8/2010 PCFL-ONOFF : valeurs activée/désactivée de la plage neutre Représentation Symbole Représentation de l'instruction Description des paramètres Paramètres Référence de Type de mémoire données d'état Signification Entrée haute 0x, 1x Activée = déclenche la fonction de régulation de procédés définie Aucun ONOFF (partie haute) Bloc de paramètres (partie médiane) Sélection de la sous-fonction ONOFF 4x 14 (partie basse) 31007524 8/2010 INT, UINT Premier d'un bloc de registres de sortie successifs dans lesquels sont mémorisés les paramètres de la sous-fonction définie (Pour plus d'informations, reportez-vous à la section Bloc de paramètres (partie médiane), page 926.) INT, UINT Longueur du bloc de paramètres de la sous-fonction ONOFF (ne peut pas être changée) Sortie haute 0x Aucun Activée = opération réussie Sortie basse 0x Aucun Activée = erreur 925 PCFL-ONOFF : valeurs activée/désactivée de la plage neutre Description des paramètres Bloc de paramètres (partie médiane) La longueur du bloc de paramètres ONOFF est de 14 registres. Registre Contenu Affiché et premier implicite Entrée courante Deuxième implicite Etat de sortie Troisième implicite Etat d'entrée Quatrième et cinquième implicite Consigne, C Sixième et septième implicite Plage neutre (PN) autour de C Huitième et neuvième implicite Complètement à 1 (sortie maximum) 10ème et 11ème implicite Complètement à 0 (sortie minimum) 12ème et 13ème implicite Sortie, à 1 ou 0 Etat de sortie Bit Fonction 1à8 Inutilisé 9 1 = PN mise à un nombre négatif 10 Mode Echo : 1 = forçage manuel 0 = mode auto 11 1 = sortie mise à 1 0 = sortie mise à 0 12 à 16 Bits des sorties normales (drapeaux) Bit Fonction Etat d'entrée 926 1à4 Bits d'entrées normales (drapeaux) 5 1 = configuration inverse 0 = configuration directe 6 1 = forçage manuel 0 = mode auto 7 1 = force la sortie à 1 en mode manuel 0 = force la sortie à 0 en mode manuel 8 à 16 Inutilisé 31007524 8/2010 PCFL-PI : PI ISA non interactif 31007524 8/2010 PCFL-PI : PI ISA non interactif 145 Introduction Ce chapitre décrit la sous-fonction PCFL-PI. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 928 Représentation 929 Description des paramètres 930 927 PCFL-PI : PI ISA non interactif Description sommaire Description de la fonction NOTE : Cette instruction est une sous-fonction de l'instruction PCFL. Elle fait partie de la catégorie Régulation. La fonction PI effectue des opérations proportionnel–intégrale élémentaires à l'aide des fonctions mathématiques en virgule flottante. Elle dispose des modes de fonctionnement arrêt/manuel/auto. Elle est similaire aux fonctions PID et KPID mais ne comporte pas autant d'options. Elle s'utilise pour une exécution plus rapide des boucles, ou pour des stratégies de boucles internes en cascade. 928 31007524 8/2010 PCFL-PI : PI ISA non interactif Représentation Symbole Représentation de l'instruction Description des paramètres Paramètres Référence de Type de données mémoire d'état Signification Entrée haute 0x, 1x Activée = déclenche la fonction de régulation de procédés définie Aucun PI (partie haute) Bloc de paramètres (partie médiane) Sélection de la sous-fonction PI 4x 36 (partie basse) 31007524 8/2010 INT, UINT Premier d'un bloc de registres de sortie successifs dans lesquels sont mémorisés les paramètres de la sous-fonction définie (Pour plus d'informations, reportez-vous à la section Bloc de paramètres (partie médiane), page 930.) INT, UINT Longueur du bloc de paramètres de la sous-fonction PI (ne peut pas être changée) Sortie haute 0x Aucun Activée = opération réussie Sortie basse 0x Aucun Activée = erreur 929 PCFL-PI : PI ISA non interactif Description des paramètres Bloc de paramètres (partie médiane) La longueur du bloc de paramètres PI est de 36 registres. Registre Paramètres généraux Entrées Sorties Informations temporelles Paramètres d'entrée Sortie 930 Contenu Affiché et premier implicite Entrée réelle, x Deuxième implicite Etat de sortie Troisième implicite Mot d'erreur Quatrième implicite Réservé Cinquième implicite Etat d'entrée Sixième et septième implicite Consigne, C Huitième et neuvième implicite Sortie manuelle 10ème et 11ème implicite Ecart de régulation calculé (erreur), XD 12ème implicite Mode de fonctionnement précédent 13ème et 14ème implicite Temps de retard (en ms) depuis la dernière exécution 15ème et 16ème implicite Précédent écart système, XD_1 17ème et 18ème implicite Composante intégrale de la sortie Y 19ème et 20ème implicite Entrée précédente, X_1 21ème implicite Etat de fonctionnement précédent 22ème implicite 10 ms d'horloge à l'instant n 23ème implicite Réservé 24ème et 25ème implicite Intervalle de résolution (en ms) 26ème et 27ème implicite Facteur proportionnel, KP 28ème et 29ème implicite Temps intégrale, TI 30ème et 31ème implicite Limite haute sur la sortie Y 32ème et 33ème implicite Limite basse sur la sortie Y 34ème et 35ème implicite Sortie régulée, Y 31007524 8/2010 PCFL-PI : PI ISA non interactif Etat de sortie Bit Fonction 1 Erreur 2 1 = Limite basse franchie 3 1 = Limite haute franchie 4à8 Inutilisé 9 à 16 Bits des sorties normales (drapeaux) Bit Fonction 1 à 11 Inutilisé 12 à 16 Description de l'erreur Mot d'erreur Description de l'erreur Bit Signification 12 13 14 15 16 1 0 1 1 0 Constante de temps intégrale négative 1 0 1 0 1 Erreur de limite haute/basse (basse ≥ haute) Etat d'entrée Bit 31007524 8/2010 Fonction 1à4 Bits d'entrées normales (drapeaux) 5 Inutilisé 6 1 = Mode manuel 7 1 = Mode arrêté 8 à 15 Inutilisé 16 1 = Action inverse de sortie de boucle 0 = Action directe de sortie de boucle 931 PCFL-PI : PI ISA non interactif 932 31007524 8/2010 PCFL-PID : Algorithmes PID 31007524 8/2010 PCFL-PID : Algorithmes PID 146 Introduction Ce chapitre décrit la sous-fonction PCFL-PID. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 934 Représentation 935 Description des paramètres 936 933 PCFL-PID : Algorithmes PID Description sommaire Description de la fonction NOTE : Cette instruction est une sous-fonction de l'instruction PCFL. Elle fait partie de la catégorie Régulation.. La fonction PID effectue des opérations proportionnelle-intégrale-dérivée (PID) ISA non interactives utilisant les calculs en virgule flottante. Du fait qu'elle utilise les opérations en VF (à l'inverse de PID2), les erreurs d'arrondi sont négligeables. Vous trouverez Exemple PID, page 53 dans la section "Informations générales". 934 31007524 8/2010 PCFL-PID : Algorithmes PID Représentation Symbole Représentation de l'instruction Description des paramètres Paramètres Référence de Type de mémoire données d'état Signification Entrée haute 0x, 1x Activée = déclenche la fonction de régulation de procédés définie Aucun PID (partie haute) Bloc de paramètres (partie médiane) Sélection de la sous-fonction PID 4x 44 (partie basse) 31007524 8/2010 INT, UINT Premier d'un bloc de registres de sortie successifs dans lesquels sont mémorisés les paramètres de la sous-fonction définie (Pour plus d'informations, reportez-vous à la section Bloc de paramètres (partie médiane), page 936.) INT, UINT Longueur du bloc de paramètres de la sous-fonction PID (ne peut pas être changée) Sortie haute 0x Aucun Activée = opération réussie Sortie basse 0x Aucun Activée = erreur 935 PCFL-PID : Algorithmes PID Description des paramètres Bloc de paramètres (partie médiane) La longueur du bloc de paramètres KPID est de 44 registres. Registre Paramètres généraux Entrées Sorties Informations temporelles Entrées 936 Contenu Affiché et premier implicite Entrée réelle, x Deuxième implicite Etat de sortie Troisième implicite Mot d'erreur Quatrième implicite Réservé Cinquième implicite Etat d'entrée Sixième et septième implicite Consigne, C Huitième et neuvième implicite Sortie manuelle 10ème et 11ème implicite Jonction de somme, Pied (Bias) 12ème et 13ème implicite Erreur, XD 14ème implicite Mode de fonctionnement précédent 15ème et 16ème implicite Temps écoulé (en ms) depuis la dernière exécution 17ème et 18ème implicite Précédent écart système, XD_1 19ème et 20ème implicite Entrée précédente, X_1 21ème et 22ème implicite Terme intégral de la sortie Y, YI 23ème et 24ème implicite Terme différentiel de la sortie Y, YD 25ème et 26ème implicite Terme proportionnel de la sortie Y, YP 27ème implicite Etat de fonctionnement précédent 28ème implicite Heure actuelle 29ème implicite Réservé 30ème et 31ème implicite Intervalle de résolution (en ms) 34ème et 35ème implicite Temps intégrale, TI 36ème et 37ème implicite Durée d'action dérivée, TD 38ème et 39ème implicite Limite haute sur la sortie Y 40ème et 41ème implicite Limite basse sur la sortie Y 42ème et 43ème implicite Sortie régulée, Y 31007524 8/2010 PCFL-PID : Algorithmes PID Etat de sortie Bit Fonction 1 Erreur 2 1 = Limite basse franchie 3 1 = Limite haute franchie 4à8 Inutilisé 9 à 16 Bits des sorties normales (drapeaux) Mot d'erreur Bit Fonction 1 à 11 Inutilisé 12 à 16 Description de l'erreur Description de l'erreur Bit Signification 12 13 14 15 16 1 0 1 1 1 Constante de temps dérivée négative 1 0 1 1 0 Constante de temps intégrale négative 1 0 1 0 1 Erreur de limite haute/basse (basse ≥ haute) Etat d'entrée Bit 31007524 8/2010 Fonction 1à4 Bits d'entrées normales (drapeaux) 5 Inutilisé 6 1 = Mode manuel 7 1 = Mode arrêté 8 Inutilisé 9 1 = Exécution algorithme proportionnelle 10 1 = Exécution algorithme intégrale 11 1 = Exécution algorithme dérivée 12 1 = Exécution algorithme dérivée sur base x 0 = Exécution algorithme dérivée sur base xd 13 à 15 Inutilisé 16 1 = Action inverse de sortie de boucle 0 = Action directe de sortie de boucle 937 PCFL-PID : Algorithmes PID 938 31007524 8/2010 PCFL-RAMP : rampe vers la consigne à pente constante 31007524 8/2010 PCFL-RAMP : rampe vers la consigne à pente constante 147 Introduction Ce chapitre décrit la sous-fonction PCFL-RAMP. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 940 Représentation 941 Description des paramètres 942 939 PCFL-RAMP : rampe vers la consigne à pente constante Description sommaire Description de la fonction NOTE : Cette instruction est une sous-fonction de l'instruction PCFL. Elle fait partie de la catégorie Traitement du signal. La fonction RAMP vous permet d'effectuer une rampe linéaire vers une consigne cible à une pente d'approche définie. Vous devez définir : la consigne cible, dans les mêmes unités que celles définies pour le contenu du registre d'entrée z le taux d'échantillonnage z une pente positive vers la consigne cible, les pentes négatives sont illégales z La direction de la rampe dépend de la relation entre la consigne à atteindre et l'entrée, c'est-à-dire si x < C, la rampe monte ; si x > C, la rampe descend. Vous pouvez utiliser un drapeau pour l'initialisation après un certain temps d'arrêt. La fonction mémorisera un nouvel échantillon, puis attendra pendant un cycle pour récupérer le deuxième échantillon. Les calculs seront ignorés pendant un cycle et la sortie sera laissée tel quel, après quoi la rampe reprendra. RAMP s'arrête lorsque l'opération de rampe complète est terminée (sur plusieurs cycles), et retourne un message DXDONE. Démarrage de la rampe Les étapes suivantes doivent être effectuées lorsque vous démarrez la rampe (vers le haut ou le bas) et à chaque fois que vous devez démarrer ou redémarrer la rampe. Etape 940 Action 1 Réglez le bit 1 des bits d'entrée standard sur "1" (troisième registre implicite du bloc de paramètres). 2 Rebasculez l'entrée haute (entrée active) sur l'instruction. La rampe va alors commencer à monter (descendre) à partir de la valeur initiale préalablement configurée au-dessus (en dessous) de la consigne configurée précédemment. Surveillez le 12 ème registre implicite du bloc de paramètres pour connaître la valeur de rampe courante en virgule flottante. 31007524 8/2010 PCFL-RAMP : rampe vers la consigne à pente constante Représentation Symbole Représentation de l'instruction Description des paramètres Paramètres Référence de Type de mémoire données d'état Signification Entrée haute 0x, 1x Activée = déclenche la fonction de régulation de procédés définie Aucun RAMP (partie haute) Bloc de paramètres (partie médiane) Sélection de la sous-fonction RAMP 4x 14 (partie basse) 31007524 8/2010 INT, UINT Premier d'un bloc de registres de sortie successifs dans lesquels sont mémorisés les paramètres de la sous-fonction définie (Pour plus d'informations, reportez-vous à la section Bloc de paramètres (partie médiane), page 942.) INT, UINT Longueur du bloc de paramètres de la sous-fonction RAMP (ne peut pas être changée) Sortie haute 0x Aucun Activée = opération réussie Sortie basse 0x Aucun Activée = erreur 941 PCFL-RAMP : rampe vers la consigne à pente constante Description des paramètres Bloc de paramètres (partie médiane) La longueur du bloc de paramètres RAMP est de 14 registres. Registre Contenu Affiché et premier implicite Consigne (entrée) Deuxième implicite Etat de sortie Troisième implicite Etat d'entrée Quatrième implicite Registre de temps Cinquième implicite Réservé Sixième et septième implicite Δt (en ms) depuis la dernière exécution Huitième et neuvième implicite Intervalle de résolution (en ms) 10ème et 11ème implicite Taux de changement (par seconde) vers la consigne 12ème et 13ème implicite Sortie Etat de sortie Bit Fonction 1à4 Inutilisé 5 1 = la pente de la rampe est négative 6 1 = rampe terminée 0 = rampe en cours 7 1 = rampe descendante 8 1 = rampe montante 9 à 16 Bits des sorties normales (drapeaux) Bit Fonction Etat d'entrée 1à4 Bits d'entrées normales (drapeaux) 5 à 16 Inutilisé Sortie haute (commande réussie) La sortie haute de la sous-fonction PCFL - RAMP passe à l'état actif à chaque incrémentation/décrémentation successive réussie de la rampe de bits. Cela se produit si rapidement que la sortie haute semble active en permanence. Cette sortie haute ne doit PAS être utilisée comme "bit d'exécution de rampe". Surveillez le bit 6 de l'état de sortie (second registre implicite du bloc de paramètres) comme "bit d'exécution de rampe". 942 31007524 8/2010 PCFL-RATE : calcul du taux dérivé sur une durée définie 31007524 8/2010 PCFL-RATE : calcul du taux dérivé sur une durée définie 148 Introduction Ce chapitre décrit la sous-fonction PCFL-RATE. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 944 Représentation 945 Description des paramètres 946 943 PCFL-RATE : calcul du taux dérivé sur une durée définie Description sommaire Description de la fonction NOTE : Cette instruction est une sous-fonction de l'instruction PCFL. Elle fait partie de la catégorie Traitement du signal. La fonction RATE calcule le taux de variation sur les deux dernières valeurs d'entrée. Si vous positionnez un drapeau d'initialisation, la fonction enregistre un échantillon et active les drapeaux appropriés. Si une division par zéro est tentée, la fonction retourne un message DXERROR. Elle retourne un message DXDONE lorsque l'opération est terminée avec succès. 944 31007524 8/2010 PCFL-RATE : calcul du taux dérivé sur une durée définie Représentation Symbole Représentation de l'instruction Description des paramètres Paramètres Référence de Type de mémoire données d'état Signification Entrée haute 0x, 1x Activée = déclenche la fonction de régulation de procédés définie Aucun RATE (partie haute) Bloc de paramètres (partie médiane) Sélection de la sous-fonction RATE 4x 14 (partie basse) 31007524 8/2010 INT, UINT Premier d'un bloc de registres de sortie successifs dans lesquels sont mémorisés les paramètres de la sous-fonction définie (Pour plus d'informations, reportez-vous à la section Bloc de paramètres (partie médiane), page 946.) INT, UINT Longueur du bloc de paramètres de la sous-fonction RATE (ne peut pas être changée) Sortie haute 0x Aucun Activée = opération réussie Sortie basse 0x Aucun Activée = erreur 945 PCFL-RATE : calcul du taux dérivé sur une durée définie Description des paramètres Bloc de paramètres (partie médiane) La longueur du bloc de paramètres RATE est de 14 registres. Registre Contenu Affiché et premier implicite Entrée courante Deuxième implicite Etat de sortie Troisième implicite Etat d'entrée Quatrième implicite Registre de temps Cinquième implicite Réservé Sixième et septième implicite Δt (en ms) depuis la dernière exécution Huitième et neuvième implicite Intervalle de résolution (en ms) 10ème et 11ème implicite Dernière entrée 12ème et 13ème implicite Résultat Etat de sortie Bit Fonction 1à8 Inutilisé 9 à 16 Bits des sorties normales (drapeaux) Bit Fonction Etat d'entrée 946 1à4 Bits d'entrées normales (drapeaux) 5 à 16 Inutilisé 31007524 8/2010 PCFL-RATIO : régulateur de rapport 4 positions 31007524 8/2010 PCFL-RATIO : régulateur de rapports 4 positions 149 Introduction Ce chapitre décrit la sous-fonction PCFL-RATIO. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 948 Représentation 949 Description des paramètres 950 947 PCFL-RATIO : régulateur de rapport 4 positions Description sommaire Description de la fonction NOTE : Cette instruction est une sous-fonction de l'instruction PCFL. Elle fait partie de la catégorie Régulation. La fonction RATIO offre un régulateur de rapport 4 positions. La régulation de rapport s'utilise dans les applications où un ou plusieurs ingrédients bruts dépendent d'un ingrédient primaire. L'ingrédient primaire est mesuré, et la mesure est convertie en unités physiques via une fonction AIN. La valeur convertie sert à régler les cibles des autres entrées proportionnalisées. Les sorties du régulateur de rapport peuvent générer des consignes pour d'autres automates. Elles peuvent également être utilisées dans une structure en boucle ouverte pour les applications dans lesquelles le retour n'est pas nécessaire. 948 31007524 8/2010 PCFL-RATIO : régulateur de rapport 4 positions Représentation Symbole Représentation de l'instruction Description des paramètres Paramètres Référence de Type de mémoire données d'état Signification Entrée haute 0x, 1x Activée = déclenche la fonction de régulation de procédés définie Aucun RATIO (partie haute) Bloc de paramètres (partie médiane) Sélection de la sous-fonction RATIO 4x 20 (partie basse) 31007524 8/2010 INT, UINT Premier d'un bloc de registres de sortie successifs dans lesquels sont mémorisés les paramètres de la sous-fonction définie Pour plus d'informations, reportez-vous à la section Bloc de paramètres (partie médiane), page 950. INT, UINT Longueur du bloc de paramètres de la sous-fonction RATIO (ne peut pas être changée) Sortie haute 0x Aucun Activée = opération réussie Sortie basse 0x Aucun Activée = erreur 949 PCFL-RATIO : régulateur de rapport 4 positions Description des paramètres Bloc de paramètres (partie médiane) La longueur du bloc de paramètres RATIO est de 20 registres. Registre Contenu Affiché et premier implicite Entrée réelle Deuxième implicite Etat de sortie Troisième implicite Etat d'entrée Quatrième et cinquième implicite Rapport de l'entrée 1 Sixième et septième implicite Rapport de l'entrée 2 Huitième et neuvième implicite Rapport de l'entrée 3 10ème et 11ème implicite Rapport de l'entrée 4 12ème et 13ème implicite Sortie de l'entrée 1 14ème et 15ème implicite Sortie de l'entrée 2 16ème et 17ème implicite Sortie de l'entrée 3 18ème et 19ème implicite Sortie de l'entrée 4 Etat de sortie Bit Fonction 1à9 Inutilisé 10 1 = paramètre(s) hors limites 11 1 = aucune entrée activée 12 à 16 Bits des sorties normales (drapeaux) Bit Fonction 1à4 Bits d'entrées normales (drapeaux) 5 1 = entrée 4 active 6 1 = entrée 3 active 7 1 = entrée 2 active 8 1 = entrée 1 active 9 à 16 Inutilisé Etat d'entrée 950 31007524 8/2010 PCFL-RMPLN : rampe logarithmique vers consigne 31007524 8/2010 PCFL-RMPLN : rampe logarithmique vers consigne 150 Introduction Ce chapitre décrit la sous-fonction PCFL-RMPLN. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 952 Représentation 953 Description des paramètres 954 951 PCFL-RMPLN : rampe logarithmique vers consigne Description sommaire Description de la fonction NOTE : Cette instruction est une sous-fonction de l'instruction PCFL. Elle fait partie de la catégorie Traitement du signal. La fonction RMPLN vous permet d'évoluer en rampe logarithmique vers une consigne cible à une pente d'approche définie. A chaque appel successif, elle calcule la sortie jusqu'à ce qu'elle se trouve dans une plage neutre définie (PN). PN est nécessaire car la distance incrémentale effectuée par la rampe décroît à chaque exécution. Vous devez définir : la consigne cible, dans les mêmes unités que celles définies pour le contenu du registre d'entrée z le taux d'échantillonnage z la constante de temps utilisée pour la rampe logarithmique, laquelle vaut la durée mise pour atteindre 63,2% de la nouvelle consigne z Pour de meilleurs résultats, utilisez un t ≥ 4 *Δt. Cela assurera une granularité suffisante de la réponse de sortie. Vous pouvez utiliser un drapeau pour l'initialisation après un certain temps d'arrêt. La fonction mémorisera un nouvel échantillon, puis attendra pendant un cycle pour récupérer le deuxième échantillon. Les calculs seront ignorés pendant un cycle et la sortie sera laissée tel quel, après quoi la rampe reprendra. RMPLN est terminée lorsque l'entrée atteint la consigne cible + la PN déterminée, et retourne un message DXDONE. 952 31007524 8/2010 PCFL-RMPLN : rampe logarithmique vers consigne Représentation Symbole Représentation de l'instruction Description des paramètres Paramètres Référence de Type de mémoire données d'état Signification Entrée haute 0x, 1x Activée = déclenche la fonction de régulation de procédés définie Aucun RMPLN (partie haute) Bloc de paramètres (partie médiane) Sélection de la sous-fonction RMPLN 4x 16 (partie basse) 31007524 8/2010 INT, UINT Premier d'un bloc de registres de sortie successifs dans lesquels sont mémorisés les paramètres de la sous-fonction définie Pour plus d'informations, reportez-vous à la section Bloc de paramètres (partie médiane), page 954. INT, UINT Longueur du bloc de paramètres de la sous-fonction RMPLN (ne peut pas être changée) Sortie haute 0x Aucun Activée = opération réussie Sortie basse 0x Aucun Activée = erreur 953 PCFL-RMPLN : rampe logarithmique vers consigne Description des paramètres Bloc de paramètres (partie médiane) La longueur du bloc de paramètres RMPLN est de 16 registres. Registre Contenu Affiché et premier implicite Consigne (entrée) Deuxième implicite Etat de sortie Troisième implicite Etat d'entrée Quatrième implicite Registre de temps Cinquième implicite Réservé Sixième et septième implicite Δt (en ms) depuis la dernière exécution Huitième et neuvième implicite Intervalle de résolution (en ms) 10ème et 11ème implicite Constante de temps, τ, (en seconde) de la rampe exponentielle vers la consigne visée 12ème et 13ème implicite PN (en unités physiques) 14ème et 15ème implicite Sortie Etat de sortie Bit Fonction 1à4 Inutilisé 5 1 = PN ou τ configuré avec un nombre négatif 6 1 = rampe terminée 0 = rampe en cours 7 1 = rampe descendante 8 1 = rampe montante 9 à 16 Bits des sorties normales (drapeaux) Bit Fonction 1à4 Bits d'entrées normales (drapeaux) 5 à 16 Inutilisé Etat d'entrée 954 31007524 8/2010 PCFL-SEL : sélection d'entrée 31007524 8/2010 PCFL-SEL : sélection d'entrées 151 Introduction Ce chapitre décrit la sous-fonction PCFL-SEL. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 956 Représentation 957 Description des paramètres 958 955 PCFL-SEL : sélection d'entrée Description sommaire Description de la fonction NOTE : Cette instruction est une sous-fonction de l'instruction PCFL. Elle fait partie de la catégorie Traitement du signal. La fonction SEL compare jusqu'à quatre entrées et effectue un choix basé soit sur la valeur la plus haute, la plus basse ou moyenne. A vous de choisir les entrées à comparer et le critère de comparaison. La sortie est une copie de l'entrée sélectionnée. SEL retourne un message DXDONE lorsque l'opération est terminée. 956 31007524 8/2010 PCFL-SEL : sélection d'entrée Représentation Symbole Représentation de l'instruction Description des paramètres Paramètres Référence de Type de mémoire données d'état Signification Entrée haute 0x, 1x Activée = déclenche la fonction de régulation de procédés définie Aucun SEL (partie haute) Bloc de paramètres (partie médiane) Sélection de la sous-fonction SEL 4x 14 (partie basse) 31007524 8/2010 INT, UINT Premier d'un bloc de registres de sortie successifs dans lesquels sont mémorisés les paramètres de la sous-fonction définie (Pour plus d'informations, reportez-vous à la section Bloc de paramètres (partie médiane), page 958.) INT, UINT Longueur du bloc de paramètres de la sous-fonction SEL (ne peut pas être changée) Sortie haute 0x Aucun Activée = opération réussie Sortie basse 0x Aucun Activée = erreur 957 PCFL-SEL : sélection d'entrée Description des paramètres Bloc de paramètres (partie médiane) La longueur du bloc de paramètres SEL est de 14 registres. Registre Contenu Affiché et premier implicite Réservé Deuxième implicite Etat de sortie Troisième implicite Etat d'entrée Quatrième et cinquième implicite Entrée 1 Sixième et septième implicite Entrée 2 Huitième et neuvième implicite Entrée 3 10ème et 11ème implicite Entrée 4 12ème et 13ème implicite Sortie Etat de sortie Bit 958 Fonction 1à9 Inutilisé 10 Modes de sélection invalides 11 Aucune entrée sélectionnée 12 à 16 Bits des sorties normales (drapeaux) 31007524 8/2010 PCFL-SEL : sélection d'entrée Etat d'entrée Bit Fonction 1à4 Bits d'entrées normales (drapeaux) 5 1 = valide l'entrée 1 0 = invalide l'entrée 1 6 1 = valide l'entrée 2 0 = invalide l'entrée 2 7 1 = valide l'entrée 3 0 = invalide l'entrée 3 8 1 = valide l'entrée 4 0 = invalide l'entrée 4 9 à 10 Mode de sélection 11 à 16 Inutilisé Mode de sélection Bit 31007524 8/2010 Signification 9 10 0 0 Sélection de la valeur moyenne 0 1 Sélection de la valeur haute 1 0 Sélection de la valeur basse 1 1 réservé / invalide 959 PCFL-SEL : sélection d'entrée 960 31007524 8/2010 PCFL-TOTAL : totalisateur de flux 31007524 8/2010 PCFL-TOTAL : totalisateur de flux 152 Introduction Ce chapitre décrit la sous-fonction PCFL-TOTAL. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 962 Représentation 963 Description des paramètres 964 961 PCFL-TOTAL : totalisateur de flux Description sommaire Description de la fonction NOTE : Cette instruction est une sous-fonction de l'instruction PCFL. Elle fait partie de la catégorie Régulation. La fonction TOTAL est un totalisateur de flux pour les applications de traitements par lots (batch). Le signal d'entrée comporte les unités de poids ou de volume par unité de temps. Le totalisateur intègre l'entrée en fonction du temps. L'algorithme délivre trois sorties : la somme de l'intégrale z le reste à doser z la sortie vanne (en unités physiques). z 962 31007524 8/2010 PCFL-TOTAL : totalisateur de flux Représentation Symbole Représentation de l'instruction Description des paramètres Paramètres Référence de Type de mémoire données d'état Signification Entrée haute 0x, 1x Activée = déclenche la fonction de régulation de procédés définie Aucun TOTAL (partie haute) Bloc de paramètres (partie médiane) Sélection de la sous-fonction TOTAL 4x 28 (partie basse) 31007524 8/2010 INT, UINT Premier d'un bloc de registres de sortie successifs dans lesquels sont mémorisés les paramètres de la sous-fonction définie (Pour plus d'informations, reportez-vous à la section Bloc de paramètres (partie médiane), page 964.) INT, UINT Longueur du bloc de paramètres de la sous-fonction TOTAL (ne peut pas être changée) Sortie haute 0x Aucun Activée = opération réussie Sortie basse 0x Aucun Activée = erreur 963 PCFL-TOTAL : totalisateur de flux Description des paramètres Mode de fonctionnement La fonction utilise jusqu'à trois consignes différentes : une consigne débit lent z une consigne cible z une consigne auxiliaire de débit lent z La consigne cible sert à la quantité totale à mesurer. Ici, la sortie est mise à zéro. La consigne débit lent correspond au point de coupure lorsque la sortie doit décroître depuis le débit maximum jusqu'à un certain pourcentage du débit maximum, de sorte que la consigne cible soit obtenue avec une meilleure granularité. La consigne débit lent auxiliaire est optionnelle. Elle sert à obtenir un autre niveau de granularité. Si cette consigne est validée, la sortie est encore réduite à 10 % de la sortie lente. Le totalisateur prend zéro comme point de départ. La consigne doit être une valeur positive. En fonctionnement normal, la sortie vanne est réglée à 100 % du débit lorsque la valeur intégrée se trouve en dessous de la consigne de débit lent. Lorsque la somme de l'intégrale dépasse la consigne de débit lent, le débit de la vanne devient un pourcentage programmable du débit maximal. Lorsque la somme atteint la consigne souhaitée, la sortie vanne est réglée à un débit de 0 %. Les consignes peuvent être relatives ou absolues. Avec une consigne relative, on utilise l'écart entre la dernière somme et la consigne. Dans les autres cas, la somme est utilisée en comparaison absolue avec la consigne. Il existe une option permettant de faire arrêter l'opération d'intégration par le système. Lorsque l'opération est terminée, la somme de sortie est conservée pour une utilisation ultérieure. Vous avez la possibilité d'effacer cette somme. Dans certaines applications, il est important de la sauvegarder, par exemple si les mesures ou les récepteurs de charge ne peuvent pas traiter le lot en une seule charge, et que les mesures se font en plusieurs fois, s'il y a plusieurs cuves à remplir pour un lot et que vous voulez conserver un suivi des sommes du lot et de la production. Bloc de paramètres (partie médiane) La longueur du bloc de paramètres TOTAL est de 28 registres. 964 Registre Contenu Affiché et premier implicite Entrée réelle Deuxième implicite Etat de sortie 31007524 8/2010 PCFL-TOTAL : totalisateur de flux Registre Contenu Troisième implicite Etat d'entrée Quatrième implicite Registre de temps Cinquième implicite Réservé Sixième et septième implicite Δt (en ms) depuis la dernière exécution Huitième et neuvième implicite Intervalle de résolution (en ms) 10ème et 11ème implicite Dernière entrée, X_1 12ème et 13ème implicite Valeur d'initialisation 14ème et 15ème implicite Consigne, cible 16ème et 17ème implicite Consigne, débit lent 18ème et 19ème implicite % du débit maxi pour la consigne de débit lent 20ème et 21ème implicite Débit maxi 22ème et 23ème implicite Reste à faire de la consigne 24ème et 25ème implicite Somme résultante 26ème et 27ème implicite Sortie de l'organe final de régulation Etat de sortie Bit Fonction 1à2 Inutilisé 3à4 0 0 = état repos 0 1 = débit lent 1 0 = débit maxi 5 1 = opération effectuée 6 1 = totalisation en cours 7 1 = dépassement de la consigne de plus de 5% 8 1 = paramètre(s) hors limites 9 à 16 Bits des sorties normales (drapeaux) Bit Fonction 1à4 Bits d'entrées normales (drapeaux) 5 1 = réinitialisation de la somme 6 1 = pause de l'intégration 7 1 = écart consigne 0 = consigne absolue Etat d'entrée 31007524 8/2010 8 1 = utilisation de la consigne auxiliaire de débit lent 9 à 16 Inutilisé 965 PCFL-TOTAL : totalisateur de flux 966 31007524 8/2010 PEER : transmission PEER 31007524 8/2010 PEER : transmission PEER 153 Introduction Ce chapitre décrit l'instruction PEER. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 968 Représentation 969 Description des paramètres 970 967 PEER : transmission PEER Description sommaire Description de la fonction NOTE : Cette instruction n'est disponible que si vous avez décompacté et installé les instructions chargeables DX. Vous trouverez de plus amples informations dans Installation des instructions chargeables DX, page 79. Les modules optionnels de l'interface S975 Modbus II utilisent deux blocs fonction chargeables : MBUS et PEER. L'instruction PEER peut déclencher des transmissions de messages identiques avec 16 appareils à la fois sur Modbus II. Dans une transmission PEER, vous ne pouvez écrire que des données registre. 968 31007524 8/2010 PEER : transmission PEER Représentation Symbole Représentation de l'instruction Description des paramètres Paramètres Type de Signification Référence de mémoire données d'état Entrée haute 0x, 1x Aucun Déclenche la transmission MBUS Entrée médiane 0x, 1x Aucun Répète la transmission dans le même cycle Bloc de contrôle (partie haute) 4x INT, UINT, WORD Premier de 19 registres successifs du bloc de contrôle PEER (Pour plus d'informations, reportez-vous à la section Bloc de contrôle (partie haute), page 970.) Bloc de données (partie médiane) 4x INT, UINT Premier registre d'un bloc de données que la fonction PEER doit transmettre INT, UINT Longueur, c'est-à-dire nombre de registres de sortie, du bloc de données, comprise entre 1 et 249 Longueur (partie basse) 31007524 8/2010 Sortie haute 0x Aucun Transmission achevée Sortie médiane 0x Aucun Transmission en cours ou démarrage d'une nouvelle transmission Sortie basse 0x Aucun Erreur détectée dans la transmission 969 PEER : transmission PEER Description des paramètres Bloc de contrôle (partie haute) Le registre 4x mémorisé en partie haute est le premier de 19 registres successifs du bloc de contrôle PEER. Registre Fonction Affiché Indique l'état des transmissions de chaque équipement, le bit à l'extrémité gauche représentant l'état de l'équipement nº1 et le bit à l'extrémité droite l'état de l'équipement nº16 : 0 = OK, 1 = erreur de transmission Premier implicite Définit la référence du premier registre 4x à inscrire dans le récepteur ; la valeur 0 n'est pas admise dans ce champ et engendrera une erreur (la sortie basse s'activera) Deuxième implicite Temps alloué pour achever une transmission avant qu'une erreur ne soit déclarée ; exprimé en multiple de 10 ms, p. ex. 100 correspond à 1 000 ms. Le délai d'attente par défaut est de 250 ms. Troisième implicite L'adresse du port 3 Modbus du premier récepteur ; plage d'adresses : 1 à 255 (0 = aucune transmission demandée) Quatrième implicite L'adresse du port 3 Modbus du deuxième récepteur ; plage d'adresses : 1 à 255 (0 = aucune transmission demandée) ... 18ème implicite 970 ... L'adresse du port 3 Modbus du seizième récepteur (plage d'adresses : 1 à 255) 31007524 8/2010 PID2 : proportionnelle–intégrale–dérivée 31007524 8/2010 PID2 : proportionnelle–intégrale–dérivée 154 Introduction Ce chapitre décrit l'instruction PID2. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Description sommaire 972 Représentation 973 Description détaillée 975 Description des paramètres 978 Erreurs d'exécution 983 971 PID2 : proportionnelle–intégrale–dérivée Description sommaire Description de la fonction L'instruction PID2 met en oeuvre un algorithme effectuant des fonctions proportionnelles–intégrales–dérivées. L'algorithme ajuste le fonctionnement en boucle fermée d'une manière similaire aux régulateurs pneumatiques traditionnels en boucle fermée et aux régulateurs à électronique analogique en boucle fermée. Il utilise un filtre dérivateur (RGL) sur la VP comme il est utilisé pour la composante dérivée, éliminant ainsi par filtrage les sources de bruit VP à fréquence élevée (aléatoires et générés par le procédé). Formules Régulation proportionnelle Régulation proportionnelle–intégrale Régulation proportionnelle–intégrale–dérivée 972 31007524 8/2010 PID2 : proportionnelle–intégrale–dérivée Représentation Symbole Représentation de l'instruction 31007524 8/2010 973 PID2 : proportionnelle–intégrale–dérivée Description des paramètres Paramètres Type de Signification Référence de mémoire données d'état Entrée haute 0x, 1x Aucun 0 = Mode manuel 1 = Mode auto Entrée médiane 0x, 1x Aucun 0 = Préchargement intégrale à l'état repos 1 = Préchargement intégrale à l'état actif Entrée basse 0x, 1x Aucun 0 = La sortie augmente avec E 1 = La sortie diminue avec E source (partie haute) 4x INT, UINT Premier de 21 registres de sortie successifs du bloc source (Pour plus d'informations, reportez-vous à la section Bloc source (partie haute), page 978.) cible (partie médiane) 4x INT, UINT Premier de neuf registres de sortie successifs utilisé pour le calcul PID2. Ne rien charger dans ces registres ! Pour plus d'informations, reportez-vous à la section Cible (partie médiane), page 981. INT, UINT Contient un nombre compris entre 1 et 255, indiquant le nombre de fois que la fonction doit être exécutée. intervalle de résolution (partie basse) 974 Sortie haute 0x Aucun 1 = Paramètre utilisateur non valide ou boucle active mais non exécutée Sortie médiane 0x Aucun 1 = VP≥ limite supérieure de l'alarme Sortie basse 0x Aucun 1 = VP≤ limite inférieure de l'alarme 31007524 8/2010 PID2 : proportionnelle–intégrale–dérivée Description détaillée Schéma fonctionnel Ces éléments du schéma fonctionnel ont la signification suivante : Elément 31007524 8/2010 Signification E Erreur, exprimée en unités analogiques brutes C Consigne, comprise entre 0 et 4095 VP Variable procédé, comprise entre 0 et 4095 x VP filtrée K2 Constante de gain du mode intégrale, exprimée en 0.01 min-1 975 PID2 : proportionnelle–intégrale–dérivée Elément Signification K3 Constante de gain du mode dérivée, exprimée en centièmes de minute RGL Constante de filtrage de la dérivée, dans la plage de 2 à 30 Ts Temps de résolution, exprimé en centièmes de seconde BP Bande proportionnelle, dans la plage 5 à 500 % Pied (bias) Facteur de pied (bias) de sortie de boucle, dans la plage 0 à 4095 M Sortie de boucle EB Erreur brute, la composante proportionnelle–dérivée à la sortie de la boucle Z Composante de mode dérivée de l'EB Qn Sortie de boucle sans pied (bias) F Retour, dans la plage 0 à 4095 I Composante de mode intégrale de la sortie de boucle Ibas C antisaturation basse, dans la plage 0 à 4095 Ihaut C antisaturation haute, dans la plage 0 à 4095 K1 100/BP NOTE : Le calcul de la composante de mode intégrale intègre réellement la différence entre la sortie et la somme de l'intégrale, ce qui revient effectivement au même résultat que d'intégrer l'erreur. Régulation proportionnelle A l'aide de la régulation uniquement proportionnelle (P), vous pouvez calculer la variable manipulée en multipliant l'erreur par une constante proportionnelle, K1, et en ajoutant ensuite un pied (bias). Voir Formules, page 972. Néanmoins, les conditions du procédé dans la plupart des applications sont modifiées par d'autres variables système de manière à ce que le pied (bias) ne reste pas invariable ; il en résulte une erreur de décalage dans laquelle VP est constamment décalée par rapport à C. Ce problème limite les capacités de la régulation uniquement proportionnelle. NOTE : La valeur de la partie intégrale (dans les registres 4y + 3, 4y + 4 et 4y + 5) est toujours utilisée, même lorsque la composante intégrale n'est pas activée. L'utilisation de cette valeur est nécessaire pour préserver un transfert sans mémoire annexe entre les composantes. Si vous voulez invalider un transfert sans mémoire, ces trois registres doivent être mis à zéro. En mode manuel, les modifications apportées au niveau de la consigne ne prennent pas effet tant que les trois registres ci-dessus ne sont pas remis à zéro et que le mode n'est pas repassé en automatique. Le transfert n'est pas sans à-coup. 976 31007524 8/2010 PID2 : proportionnelle–intégrale–dérivée Régulation proportionnelle–intégrale Pour éliminer cette erreur de décalage sans vous forcer à changer le pied (bias) manuellement, une fonction intégrale peut être ajoutée à l'équation de régulation. Voir Formules, page 972. La régulation proportionnelle–intégrale (PI) élimine le décalage en intégrant E comme une fonction du temps. K1 est la constante d'intégration exprimée sous forme de rép/min. Tant que E ≠ 0, la valeur de l'intégrateur augmente (ou diminue), ajustant ainsi S. Ceci continue jusqu'à ce que l'erreur de décalage soit éliminée. Régulation proportionnelle–intégrale–dérivée Si vous souhaitez ajouter une composante dérivée à l'équation de régulation pour réduire les effets des modifications fréquentes de charges ou pour remplacer la fonction intégrale afin d'arriver à la consigne C plus rapidement. Voir Formules, page 972. La régulation proportionnelle–intégrale–dérivée (PID) peut être utilisée pour économiser de l'énergie au sein du procédé ou en tant que mesure de sécurité dans le cas d'une variation soudaine et inattendue dans le déroulement du procédé. K3 est la constante de temps dérivée exprimée en min. DVP est la variation de la variable procédé sur une période de temps de Δt. Exemple Pour trouver un exemple de régulation de niveau PID2, reportez-vous à la section Exemple PID2 de régulation de niveau. 31007524 8/2010 977 PID2 : proportionnelle–intégrale–dérivée Description des paramètres Bloc source (partie haute) Le registre 4x saisi dans la partie haute est le premier de 21 registres de sortie successifs d'un bloc source. Le contenu des registres implicites cinq à huit détermine si l'opération est en P, PI ou PID : Opération Cinquième implicite Sixième implicite P Etat actif PI Etat actif Etat actif PID Etat actif Etat actif Septième implicite Huitième implicite Etat actif Etat actif Le bloc source comprend les affectations de registre suivantes : Registre Nom Contenu Affiché VP à l'échelle Appelée par le bloc à chaque analyse ; une mise à l'échelle linéaire est effectuée dans le registre 4x + 13 à l'aide des limites hautes et basses des registres 4x + 11 et 4x + 12 : VP mise à l'échelle = (4x13 / 4095) * (4x11 - 4x12) + 4x12 Premier implicite C Vous devez définir la consigne en unités physiques ; la valeur doit être inférieure à la valeur du 11ème registre implicite et supérieure à la valeur du 12ème registre implicite Deuxième implicite S Appelée par le bloc à chaque exécution de la boucle ; elle est limitée dans la plage de 0 à 4095, rendant la sortie compatible avec un module de sortie analogique ; le registre de la variable manipulée peut être utilisé pour d'autres calculs de processeur tels que les boucles en cascade. Troisième implicite Limite supérieure de l'alarme Renseignez ce registre pour définir une alarme haute pour la VP (égale ou supérieure à C) ; saisissez la valeur en unités physiques dans la plage donnée dans les 11ème et 12ème registres implicites Quatrième implicite Limite inférieure de l'alarme Renseignez ce registre pour définir une alarme basse pour la VP (égale ou inférieure à C); saisissez la valeur en unités physiques dans la plage donnée dans les 11ème et 12ème registres implicites Cinquième Bande implicite proportionnelle 978 Renseignez ce registre avec la constante proportionnelle souhaitée dans la plage 5 à 500 ; plus le nombre est petit, plus la composante proportionnelle est grande. Pour le fonctionnement de PID2, ce registre doit contenir une valeur admise. 31007524 8/2010 PID2 : proportionnelle–intégrale–dérivée 31007524 8/2010 Registre Nom Contenu Sixième implicite Constante de temps de l'intégrale Renseignez ce registre pour ajouter une action intégrale au calcul. Saisissez une valeur comprise entre 0000 et 9999 pour définir une plage de 00,00 à 99,99 répétitions/min. Plus le nombre est grand, plus la composante intégrale est importante. Une valeur supérieure à 9999 arrête le calcul PID2. Septième implicite Constante de temps de la dérivée Renseignez ce registre pour ajouter une action intégrale au calcul. Saisissez une valeur comprise entre 0000 et 9999 pour définir une plage de 00,00 à 99,99 répétitions/min. Plus le nombre est grand, plus la composante intégrale est importante. Une valeur supérieure à 9999 arrête le calcul PID2. Huitième implicite Pied (Bias) Renseignez ce registre pour ajouter un pied (bias) à la sortie. La valeur doit être comprise entre 000 et 4095, et ajoutée directement à S, que la composante intégrale soit validée ou non. Neuvième implicite Seuil antisaturation haut de l'intégrale Renseignez ce registre avec le seuil haut de la valeur de sortie (entre 0 et 4095) à partir duquel l'antisaturation prend effet. La mise à jour de l'intégrale est arrêtée si cette valeur est dépassée (elle vaut normalement 4095) 10ème implicite Seuil antisaturation bas de l'intégrale Renseignez ce registre avec le seuil bas de la valeur de sortie (entre 0 et 4095) à partir duquel l'antisaturation prend effet (il vaut normalement 0) 11ème implicite Plage physique Renseignez ce registre avec la plus grande valeur délivrée supérieure par l'instrument de mesure, par exemple si la plage d'une sonde résistive de température va de 0 à 500 degrés C, la valeur de la plage physique supérieure est 500. Cette valeur doit être un entier positif compris entre 0001 et 9999, correspondant à la mesure analogique brute 4095. 12ème implicite Plage physique Renseignez ce registre avec la plus petite valeur délivrée par inférieure l'instrument de mesure. La plage doit être un entier positif compris entre 0 et 9998, et doit être inférieure à la valeur du 11ème registre implicite. Elle correspond à la mesure analogique brute 0. 13ème implicite Mesure de la valeur analogique brute Le programme renseigne ce registre avec la VP ; la mesure doit être à l'échelle et linéaire dans la plage 0 à 4095 979 PID2 : proportionnelle–intégrale–dérivée 980 Registre Nom Contenu 14ème implicite Pointeur du registre compteur de boucle La valeur que vous chargez dans ce registre pointe vers le registre comptant le nombre de boucles traitées à chaque cycle. L'entrée est déterminée en enlevant le chiffre de poids fort du registre dans lequel l'automate compte les boucles traitées par cycle. Si par exemple l'automate effectue le comptage dans le registre 41236, saisissez 1236 dans le 14ème registre implicite. La même valeur doit être chargée dans le 14ème registre implicite à chaque bloc PID2 du programme. 15ème implicite Nombre maximum de boucles Traitées en un cycle : Si le 14ème registre implicite contient une valeur différente de zéro, vous pouvez saisir une valeur dans ce registre afin de limiter le nombre de boucles devant être traitées en un cycle. 16ème implicite Pointeur de l'entrée retour intégrale : La valeur que vous chargez dans ce registre pointe vers le registre de sortie contenant la valeur du retour (R) ; retirez le 4 du registre de retour et saisissez les quatre chiffres restants dans ce registre. Les calculs d'intégrales dépendent de la valeur R fonction de S, c'est-à-dire lorsque la sortie PID2 varie de 0 à 4095, R varie de 0 à 4095. 17ème implicite Limite haute de La valeur saisie dans ce registre définit la limite supérieure de sortie S (elle vaut normalement 4095) 18ème implicite Limite basse de La valeur saisie dans ce registre définit la limite inférieure de sortie S (elle vaut normalement 0) 19ème implicite Constante de filtrage de la dérivée (RGL) 20ème implicite La valeur saisie dans ce registre pointe vers le registre de Pointeur du préchargement sortie contenant la valeur de l'entrée asservissement (T) ; enlevez le 4 du registre d'asservissement et saisissez les intégrale quatre chiffres restants dans ce registre. La valeur du registre T dépend de l'entrée de la composante intégrale à condition que les bits auto et préchargement intégrale soient tous deux vrais. La valeur saisie dans ce registre définit le degré réel du filtrage dérivée ; la plage est de 2 à 30 ; plus la valeur est petite, plus le filtrage a d'effet. 31007524 8/2010 PID2 : proportionnelle–intégrale–dérivée Cible (partie médiane) Le registre 4y saisi dans la partie médiane est le premier de neuf registres de sortie successifs utilisés dans les opérations PID2. Vous n'avez pas besoin de renseigner ces registres : 31007524 8/2010 Registre Nom Contenu Affiché Registre d'état Douze des 16 bits de ce registre sont utilisés pour définir l'état de boucle de la boucle. Premier implicite Bits d'état d'erreur (E) Ce registre affiche les codes d'erreur PID2. Deuxième implicite Registre de temporisation de boucle Ce registre mémorise la lecture de l'horloge temps réel sur l'horloge système à chaque fois que la boucle est traitée : la différence entre la valeur actuelle de l'horloge et la valeur mémorisée dans le registre correspond au temps écoulé ; si temps écoulé ≥ intervalle de résolution (10 fois la valeur indiquée en partie basse du bloc PID2), la boucle doit alors être traitée au cours de ce cycle Troisième implicite Usage interne Intégrale (partie entière) Quatrième implicite Usage interne Intégrale-fraction 1 (1/3 000) Cinquième Usage interne implicite Intégrale-fraction 2 (1/600 000) Sixième implicite VP x 8 (filtré) Ce registre mémorise le résultat de l'entrée analogique filtrée (du registre 4x14) multiplié par 8. Cette valeur est très utile dans les applications de régulation dérivée Septième implicite Valeur absolue de E Ce registre, mis à jour après chaque traitement de boucle, contient la valeur absolue de (C –VP) ; le bit 8 du registre 4y + 1 donne le signe de E. Huitième implicite Usage interne Intervalle de résolution actuel 981 PID2 : proportionnelle–intégrale–dérivée Registre d'état de boucle Bit Fonction 1 Etat de sortie supérieure (abonné hors tension ou erreur de paramètre) 2 Etat de sortie médiane (alarme haute) 3 Etat de sortie inférieure (alarme basse) 4 Boucle en mode AUTO et temps depuis la dernière résolution ≥ intervalle de résolution 5 Mode désaturation de l'intégrale (pour Rév. B ou ultérieure) 6 Boucle en mode AUTO mais non traitée 7 L'adressage du registre 4x14 par 4x15 est valide 8 Signe de E dans 4y + 7 : z 0 = + (plus) z 1 = - (moins) 9 Rév B ou ultérieure 10 Antisaturation haute de l'intégrale jamais à 1 11 Antisaturation intégrale saturée 12 Valeurs négatives dans l'équation 13 Etat entrée inférieure (action directe/inverse) 14 Etat entrée médiane (mode poursuite) : z 1 = poursuite z 0 = pas de poursuite 15 Etat entrée supérieure (MAN/AUTO) 16 Le bit 16 est mis à 1 après le démarrage initial ou l'installation de la boucle. Si vous le mettez à 0, les actions suivantes se dérouleront sur un cycle : z Le registre d'état de la boucle 4y est remis à zéro z La valeur actuelle de l'horloge temps réel est mémorisée dans le premier registre implicite (4y+1) z Les valeurs des registres trois à cinq (4y + 2,3) sont remises à zéro z La valeur du 13ème registre implicite (4x+13) x 8 est mémorisée dans le sixième registre implicite (4y + 6) z Les registres implicites sept et huit (4y + 7,8) sont remis à 0 Intervalle de résolution (partie basse) La partie basse indique qu'il s'agit d'une fonction PID2 et contient un nombre compris entre 1 et 255, indiquant combien de fois la fonction doit se dérouler. Le nombre représente une durée exprimée en dixièmes de seconde ; par exemple. le nombre 17 signifie que la fonction PID doit se dérouler toutes les 1,7 s. 982 31007524 8/2010 PID2 : proportionnelle–intégrale–dérivée Erreurs d'exécution Bit d'état d'erreur Le premier registre implicite de la cible contient les bits d'état d'erreur : 31007524 8/2010 Code Explication Contrôlez ces registres dans le bloc source (partie haute) 0000 Aucune erreur, toutes les validations sont correctes Aucun 0001 C à l'échelle supérieure à 9999 Premier implicite 0002 Alarme haute supérieure à 9999 Troisième implicite 0003 Alarme basse supérieure à 9999 Quatrième implicite 0004 Bande proportionnelle inférieure à 5 Cinquième implicite 0005 Bande proportionnelle supérieure à 500 Cinquième implicite 0006 Intégrale supérieure à 99,99 r/min Sixième implicite 0007 Dérivée supérieure à 99,99 min Septième implicite 0008 Pied (bias) supérieur à 4095 Huitième implicite 0009 Limite supérieure de l'intégrale supérieure à 4095 Neuvième implicite 0010 Limite inférieure de l'intégrale supérieure à 4095 10ème implicite 0011 Borne haute de l'unité physique (U.P.) supérieure à 9999 11ème implicite 0012 Borne basse de l'U.P. supérieure à 9999 12ème implicite 0013 U.P. haute inférieure à U.P. basse 11ème et 12ème implicite 0014 C mise à l'échelle supérieure à U.P. haute Premier et 11ème implicite 0015 C mise à l'échelle inférieure à U.P. basse Premier et 12ème implicite 0016 Nb maximum de boucles/cycle > 9999 Note :Activé en boucle maximum, c'est-à-dire seulement si 4x15 n'est pas égal à zéro. 15ème implicite 0017 Pointeur de retour intégrale hors limites 16ème implicite 0018 Limite de la sortie haute supérieure à 4095 17ème implicite 0019 Limite de la sortie basse supérieure à 4095 18ème implicite 0020 Limite de la sortie basse supérieure à la limite de la sortie haute 17ème et 18ème implicite 0021 RGL inférieure à 2 19ème implicite 0022 RGL supérieure à 30 19ème implicite 983 PID2 : proportionnelle–intégrale–dérivée 984 Code Explication Contrôlez ces registres dans le bloc source (partie haute) 0023 20ème implicite et entrée Pointeur de poursuite R hors limites Note Activé seulement si le mode poursuite est médiane à l'état actif enclenché, c'est-à-dire si l'entrée médiane du bloc PID2 reçoit du courant en étant dans le mode AUTO. 0024 20ème implicite et entrée Pointeur de poursuite R égal à zéro Note Activé seulement si le mode poursuite est médiane à l'état actif enclenché, c'est-à-dire si l'entrée médiane du bloc PID2 reçoit du courant en étant dans le mode AUTO. 0025 Aucun Partie bloquée (cycle écourté) Note :Activé en boucle maximum, c'est-à-dire seulement si 4x15 n'est pas égal à zéro. Note : Si des blocages apparaissent souvent et que les paramètres sont tous valides, augmentez le nombre maximum de boucles/cycle. Des blocages peuvent aussi apparaître si les registres de comptage utilisés ne sont pas remis à zéro quand il faut. 0026 Le pointeur de comptage de boucle est à zéro 14ème et 15ème implicite Note :Activé en boucle maximum, c'est-à-dire seulement si 4x15 n'est pas égal à zéro. 0027 Le pointeur de comptage de boucle est hors limites 14ème et 15ème implicite 31007524 8/2010 Description des instructions (de R à Z) 31007524 8/2010 Description des instructions (de R à Z) VI Introduction Dans cette section, les descriptions des instructions sont triées par ordre alphabétique de R à Z. Contenu de cette partie Cette partie contient les chapitres suivants : Chapitre 31007524 8/2010 Titre du chapitre Page 155 R --> T : registre vers Table 987 156 RBIT : mise à 0 de bit 991 157 READ : lecture 995 158 RET : retour d'un sous-programme 1001 159 RTTI : table registre vers entrée 1005 160 RTTO : table registre vers sortie 1009 161 RTU : terminal déporté 1013 162 SAVE : sauvegarde mémoire flash 1019 163 SBIT : mise à 1 de bit 1023 164 SCIF : interfaces de commande séquentielle 1027 165 SENS : détection 1033 166 Liaisons 1039 167 SKP : omission de réseaux 1043 168 SRCH: recherche 1047 169 STAT : état 1053 170 SU16 : soustraction de valeurs 16 bits 1081 171 SUB : soustraction 1085 172 SWAP : permutation de bits VME 1089 173 TTR : table vers registre 1093 174 T --> R : table vers registre 1097 985 Description des instructions (de R à Z) Chapitre 986 Titre du chapitre Page 175 T --> T : table vers table 1103 176 Temporisation T.01 : temporisation au centième de seconde 1109 177 Temporisation T0.1 : temporisation au dixième de seconde 1113 178 Temporisation T1.0 : temporisation à la seconde 1117 179 Temporisation T1MS : temporisation à la milliseconde 1121 180 TBLK : table vers bloc 1127 181 TEST : comparaison de deux valeurs 1133 182 UCTR : compteur 1137 183 VMER : lecture de VME 1141 184 VMEW : écriture VME 1147 185 WRIT : écriture 1153 186 XMIT : émission 1159 187 Bloc de communication XMIT 1167 188 Bloc d'état du port XMIT 1179 189 Bloc de conversion XMIT 1187 190 XMRD : lecture de mémoire étendue 1195 191 XMWT : écriture en mémoire étendue 1201 192 XOR : OU exclusif 1207 31007524 8/2010 R --> T : registre vers table 31007524 8/2010 R --> T : registre vers Table 155 Introduction Ce chapitre présente l'instruction R → T. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 988 Représentation 989 Description des paramètres 990 987 R --> T : registre vers table Description sommaire Description de la fonction L'instruction R→T copie la configuration binaire d'un registre ou d'une chaîne de bits internes successifs mémorisés dans un mot en un registre spécifique situé dans une table. Elle peut gérer le transfert d'un registre/mot par cycle. 988 31007524 8/2010 R --> T : registre vers table Représentation Symbole Représentation de l'instruction Description des paramètres Type de Signification Référence de mémoire données d'état Entrée haute 0x, 1x Aucun Activée = Copie les données source et incrémente la valeur du pointeur Entrée 0x, 1x Aucun Activée = Fige la valeur du pointeur médiane Entrée basse 0x, 1x Aucun Activée = Remet à zéro la valeur du pointeur Données source à copier pendant le cycle en cours source 0x, 1x, 3x, 4x INT, (partie haute) UINT, WORD INT, Table cible dans laquelle les données source pointeur cible 4x UINT seront copiées pendant le cycle (partie médiane) INT, Nombre de registres de la table cible, compris longueur de UINT entre 1 et 999 la table Longueur : (partie Max. 255 - automate 16 bits basse) Max. 999 - automate 24 bits Sortie haute 0x Aucun Donne une image de l'entrée haute Sortie 0x Aucun Activée = Valeur du pointeur = longueur de la table médiane (l'instruction ne peut pas incrémenter au-delà) Paramètres 31007524 8/2010 989 R --> T : registre vers table Description des paramètres Entrée haute L'entrée de la partie haute déclenche l'opération de transfert DX. Entrée médiane Lorsque l'entrée médiane est activée, la valeur se trouvant actuellement dans le pointeur cible est figée, tandis que l'opération DX se poursuit. De nouvelles données sont alors copiées vers la cible, qui écraseront les données copiées au cycle précédent. Entrée basse Lorsque l'entrée basse est activée, la valeur du registre du pointeur cible est remise à zéro. Ceci provoque la copie par l'opération de transfert DX suivante des données source dans le premier registre de la table cible. Données source (partie haute) Lorsque les registres de type 0x ou 1x sont utilisés : z la première référence 0x d'une chaîne de 16 bobines ou sorties TOR successives z la première référence 1x d'une chaîne de 16 entrées TOR. Pointeur cible (partie médiane) Le registre 4x mémorisé en partie médiane est un pointeur vers la table cible, dans laquelle les données source seront copiées pendant le cycle. Le premier registre de la table cible est le registre 4x successif suivant immédiatement le pointeur ; autrement dit si le registre du pointeur est 400027, la table cible commence au registre 400028. La valeur mémorisée dans le registre du pointeur indique le registre de la table cible dans lequel les données source seront copiées. La valeur 0 indique que les données source seront copiées dans le premier registre de la table cible ; la valeur 1 indique que les données source seront copiées dans le deuxième registre de la table cible, etc. NOTE : La valeur mémorisée dans le registre du pointeur cible ne peut pas dépasser l'entier de longueur de la table spécifié dans cette partie. Sorties R→T peut générer deux sorties possibles, sur les parties haute et médiane. L'état de la sortie de la partie haute est la copie de l'état de l'entrée haute. La sortie médiane est activée lorsque la valeur du registre de pointeur cible est identique à la longueur indiquée pour la table. L'instruction ne peut à cet instant être davantage incrémentée. 990 31007524 8/2010 RBIT : mise à 0 de bit 31007524 8/2010 RBIT : mise à 0 de bit 156 Introduction Ce chapitre décrit l'instruction RBIT. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Description sommaire 992 Représentation 993 991 RBIT : mise à 0 de bit Description sommaire Description de la fonction L'instruction de mise à 0 de bit (RBIT) vous permet de mettre à zéro un bit bloqué à l'état actif en activant l'entrée haute. Le bit reste à 0 lorsque l'entrée n'est plus activée. Cette instruction sert à la mise à zéro d'un bit défini à 1 par l'instruction SBIT. NOTE : L'instruction RBIT ne suit pas les mêmes règles de placement de réseau que les bobines référencées 0x. Une instruction RBIT ne peut pas être placée en colonne 11 d'un réseau et peut être positionnée à gauche d'autres éléments logiques sur les mêmes échelons du schéma. 992 31007524 8/2010 RBIT : mise à 0 de bit Représentation Symbole Représentation de l'instruction Description des paramètres Paramètres Référence de Type de mémoire données d'état Signification Entrée haute 0x, 1x Aucun Activée = Met le bit indiqué à 0. Le bit reste à 0 lorsque l'entrée n'est plus alimentée. n° de registre (partie haute) 4x WORD Registre de sortie dont la configuration binaire est contrôlée INT, UINT Indique lequel des 16 bits est mis à zéro Aucun Activée = Le bit indiqué est mis à 0 n° de bit (partie basse) Sortie haute 31007524 8/2010 0x 993 RBIT : mise à 0 de bit 994 31007524 8/2010 READ : lecture 31007524 8/2010 READ : lecture 157 Introduction Ce chapitre décrit l'instruction READ. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Description sommaire 31007524 8/2010 Page 996 Représentation 997 Description des paramètres 998 995 READ : lecture Description sommaire Description de la fonction L'instruction READ permet de lire des données depuis un périphérique d'entrée ASCII (clavier, lecteur code barre, etc.) dans la mémoire de l'automate en passant par son réseau RIO. La connexion au périphérique ASCII s'effectue sur une interface RIO. Dans la procédure de traitement du message, l'instruction READ effectue les fonctions suivantes : z vérifie la longueur des champs de données variables z vérifie si les paramètres de communication ASCII sont corrects, par exemple le numéro de port et le numéro de message z détecte les erreurs et les enregistre z signale l'état de l'interface RIO. READ nécessite deux tables de registres : une table cible dans laquelle les données variables obtenues (le message) sont stockées et un bloc de contrôle dans lequel les paramètres du port de communication et les paramètres de message sont identifiés. Vous trouverez de plus amples informations sur la mise en forme de messages à la section Mise en forme de messages pour les opérations ASCII READ/WRIT, page 61. 996 31007524 8/2010 READ : lecture Représentation Symbole Représentation de l'instruction Description des paramètres Paramètres Référence de mémoire d'état Type de données Signification Entrée haute 0x, 1x Aucun Activée = Déclenche une opération READ Entrée médiane 0x, 1x Aucun Activée = Suspend l'opération READ Activée = Abandonne l'opération READ Entrée basse 0x, 1x Aucun bloc de contrôle (partie haute) 4x INT, UINT, WORD Bloc de contrôle (le premier de sept registres de sortie successifs) cible (partie médiane) 4x INT, UINT, WORD Table cible longueur de la table (partie basse) INT, UINT Longueur de la table cible (nombre de registres dans lesquels les données du message seront mémorisées), comprise entre 1 et 999 Longueur : Max. 255 - automate 16 bits Max. 999 - automate 24 bits Sortie haute 0x Aucun Donne une image de l'entrée haute Sortie médiane 0x Aucun Activée = Erreur de communication ou l'opération a dépassé les limites de temps (pour un cycle) Sortie basse 0x Aucun Activée = Opération READ achevée (pour un cycle) 31007524 8/2010 997 READ : lecture Description des paramètres Bloc de contrôle (partie haute) Le registre 4x mémorisé en partie haute est le premier des sept registres de sortie successifs du bloc de contrôle. Registre Définition Affiché Numéro de port et code d'erreur Premier implicite Numéro de message Deuxième implicite Nombre de registres nécessaires pour respecter le format Troisième implicite Compte du nombre de registres transmis jusque–là Quatrième implicite Etat du cycle Cinquième implicite Réservé Sixième implicite Total de contrôle des registres 0 à 5 Numéro de port et code d'erreur 998 Bit Fonction 1à4 Code d'erreur de l'automate 5 Inutilisé 6 Entrée de l'équipement ASCII incompatible avec le format 7 Débordement du tampon d'entrée, données reçues trop rapidement sur le RIOP 8 Erreur USART, RIOP a reçu un octet incorrect 9 Equipement ASCII hors–ligne, contrôle du câblage 10 Format illicite, mauvaise réception RIOP 11 Message ASCII terminé trop tôt (en mode clavier) 12 à 16 Numéro du port de communication (1 à 32) 31007524 8/2010 READ : lecture Code d'erreur API Bit Signification 1 2 3 4 0 0 0 1 Erreur sur l'entrée RIOP depuis le périphérique ASCII 0 0 1 0 Réponse d'anomalie depuis RIOP, données incorrectes 0 0 1 1 Nombre séquentiel de RIOP diffère de la valeur attendue 0 1 0 0 Erreur de total de contrôle du registre utilisateur, souvent due à une modification des registres READ lorsque le bloc est actif 0 1 0 1 Détection d'un numéro de port ou de message invalide 0 1 1 0 Abandon par l'utilisateur, partie basse activée 0 1 1 1 Aucune réponse de la station, erreur de communication 1 0 0 0 Partie abandonnée du fait de l'instruction SKP 1 0 0 1 Zone message brouillée, recharger la mémoire 1 0 1 0 Port non configuré dans l'affectation des E/S 1 0 1 2 Demande ASCII illicite 1 1 0 0 Réponse inconnue du port ASCII 1 1 0 1 Elément ASCII illicite détecté dans la logique utilisateur 1 1 1 1 RIOP de l'automate est arrêté Cible (partie médiane) La partie médiane contient le premier registre 4x d'une table cible. Les données variables d'un message READ sont enregistrées dans cette table. La longueur de la table est définie en partie basse. Considérons ce message READ : NOTE : Un message READ ASCII peut contenir le texte imbriqué, placé entre guillemets, ainsi que les données variables au format défini, c'est-à-dire le message ASCII. Le champ ASCII sur 10 caractères AAAAAAAAAA est le champ de données variables ; les données variables doivent être saisies à l'aide d'un périphérique d'entrée ASCII. 31007524 8/2010 999 READ : lecture 1000 31007524 8/2010 RET : retour d'un sous-programme 31007524 8/2010 RET : retour d'un sous-programme 158 Introduction Ce chapitre décrit l'instruction RET. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Description sommaire 1002 Représentation : RET - Retour à la logique ordonnancée 1003 1001 RET : retour d'un sous-programme Description sommaire Description de la fonction L'instruction RET peut être utilisée pour retourner sur condition l'analyse logique vers la partie suivant immédiatement le dernier bloc JSR exécuté. Cette instruction ne peut être implémentée que depuis le segment du sous-programme, le dernier segment (non ordonné) du programme utilisateur. NOTE : Si un sous–programme ne comporte pas de bloc RET, soit un bloc LAB, soit la fin de logique (selon ce qui arrive en premier) sert de retour par défaut depuis le sous–programme. Vous trouverez un exemple de traitement des sous-programmes dans la section Traitement des sous-programmes, page 77. 1002 31007524 8/2010 RET : retour d'un sous-programme Représentation : RET - Retour à la logique ordonnancée Symbole Représentation de l'instruction Description des paramètres Description des paramètres de l'instruction Paramètres Référence de Type de données mémoire d'état Signification Entrée haute 0x, 1x Aucun Activée = Retour à la logique précédente L'état actif renvoie le cycle logique vers la partie suivant immédiatement la dernière instruction JSR exécutée ou vers le point du cycle logique où l'interruption est survenue. INT, UINT Valeur constante, ne peut pas être changée Aucun Activée = Erreur du sous-programme indiqué 00001 Sortie haute 31007524 8/2010 0x 1003 RET : retour d'un sous-programme 1004 31007524 8/2010 RTTI : table registre vers entrée 31007524 8/2010 RTTI : table registre vers entrée 159 Introduction Ce chapitre décrit l'instruction RTTI. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Description sommaire 1006 Représentation 1007 1005 RTTI : table registre vers entrée Description sommaire Description de la fonction Le bloc Table registre vers entrée est l'une des quatre instructions de remplacement du 484. Il copie le contenu d'un registre d'entrée ou de sortie dans un autre registre d'entrée ou de sortie. Ce registre cible est désigné par le registre d'entrée déterminé par la constante en partie basse. Une seule opération de ce type peut être prise en charge par le système à chaque cycle. 1006 31007524 8/2010 RTTI : table registre vers entrée Représentation Symbole Représentation de l'instruction Description des paramètres Description des paramètres de l'instruction 31007524 8/2010 Paramètres Référence de mémoire d'état Type de données Signification Entrée haute 0x, 1x Aucun Source de commande source (partie haute) 3x, 4x INT, UINT La partie source (ou partie haute) contient l'adresse du registre source. Les données placées à l'adresse du registre source sont copiées vers l'adresse cible, déterminée par le pointeur de décalage cible. pointeur (partie basse) (1 ... 254) (801 ... 832) INT, UINT Le pointeur est un registre 3xxxx déterminé par une constante (00018 -> 30018), dont le contenu indique la cible. Une valeur comprise entre 1 et 254 indique un registre de sortie (40001 - 40254) tandis qu'une valeur comprise entre 801 et 832 indique un registre d'entrée (30001 - 30032). Si la valeur est en dehors de cette plage, l'opération n'est pas exécutée et le rail ERREUR est alimenté. Notez que la valeur du pointeur n'augmente pas automatiquement. Sortie haute 0x Aucun Donne une image de la valeur de l'entrée haute Sortie basse 0x Aucun Activée = Erreur Valeur du pointeur hors limites 1007 RTTI : table registre vers entrée 1008 31007524 8/2010 RTTO : table registre vers sortie 31007524 8/2010 RTTO : table registre vers sortie 160 Introduction Ce chapitre décrit l'instruction RTTO. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Description sommaire 1010 Représentation 1011 1009 RTTO : table registre vers sortie Description sommaire Description de la fonction Le bloc Table registre vers sortie est l'une des quatre instructions de remplacement du 484. Il copie le contenu d'un registre d'entrée ou de sortie dans un autre registre d'entrée ou de sortie. Le registre de sortie déterminé par la constante en partie basse désigne ce registre cible. Une seule opération de ce type peut être prise en charge par le système à chaque cycle. 1010 31007524 8/2010 RTTO : table registre vers sortie Représentation Symbole Représentation de l'instruction Description des paramètres Description des paramètres de l'instruction 31007524 8/2010 Paramètres Référence de mémoire d'état Type de données Signification Entrée haute 0x, 1x Aucun Source de commande source (partie haute) 3x, 4x INT, UINT La partie source (ou partie haute) contient l'adresse du registre source. Les données placées à l'adresse du registre source sont copiées vers l'adresse cible, déterminée par le pointeur de décalage cible. pointeur (partie basse) (1 ... 254) (801 ... 824) INT, UINT Le pointeur est un registre 4xxxx déterminé par une constante (00018 -> 40018), dont le contenu indique la cible. Une valeur comprise entre 1 et 254 indique un registre de sortie (40001 - 40254), tandis qu'une valeur comprise entre 801 et 832 indique un registre d'entrée (30001 - 30032). Si la valeur est en dehors de cette plage, l'opération n'est pas exécutée et le rail ERREUR est alimenté. Notez que la valeur du pointeur n'augmente pas automatiquement. Sortie haute 0x Aucun Donne une image de la valeur de l'entrée haute Sortie basse 0x Aucun Activée = Erreur Valeur du pointeur hors limites 1011 RTTO : table registre vers sortie 1012 31007524 8/2010 RTU : terminal déporté 31007524 8/2010 RTU : terminal déporté 161 Introduction Ce chapitre décrit l'instruction RTU. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Description sommaire 1014 Représentation 1015 1013 RTU : terminal déporté Description sommaire Description de la fonction Le bloc Modbus RTU (Remote Terminal Unit, terminal déporté) prend en charge les débits de données suivants : z z z z z 1014 1 200 2 400 4 800 9 600 19 200 31007524 8/2010 RTU : terminal déporté Représentation Description des paramètres Description des paramètres de l'instruction Registre Fonction 4x Numéro de révision du RTU (en lecture seule) 4x + 1 Champ d'état d'erreur (en lecture seule) 4x + 2 Champ inutilisé 4x + 3 Définit le registre Débit des données Pour plus d'informations sur les entrées de registre correspondant aux débits, reportez-vous à la section ci-dessous : Entrées de registre correspondant aux débits. 4x + 4 Définit le registre Bits de données Pour plus d'informations sur les entrées de registre correspondant aux bits de données, reportez-vous à la section ci-dessous : Entrées de registre correspondant aux bits de données. 4x + 5 Registre de parité 4x + 6 Registre de bit d'arrêt 4x + 7 Champ inutilisé 4x + 8 Définit le registre Mot de commande Pour plus d'informations sur les entrées de registre correspondant aux mots de commande, reportez-vous à la section ci-dessous : Entrées de registre correspondant aux mots de commande. Entrées de registre correspondant aux débits Le bloc Modbus RTU (Remote Terminal Unit, terminal déporté) prend en charge les débits de données suivants : z z z z z 1 200 2 400 4 800 9 600 19 200 Les entrées de registre citées ci-dessous correspondent aux débits de données supportés. Pour configurer un débit, entrez le nombre décimal approprié (par exemple, 1 200) dans le registre de débit de données. 31007524 8/2010 Entrée de registre Débit en bauds 1 200 1 200 2 400 2 400 4 800 4 800 9 600 9 600 19 200 19 200 1015 RTU : terminal déporté Entrées de registre correspondant aux bits de données Le bloc RTU prend en charge les bits de données 7 et 8. Vous trouverez ci-dessous les entrées de registre possibles pour le champ bits de données : Entrée de registre Champ Bit de données 7 7 8 8 Des messages Modbus peuvent être envoyés au format Modbus RTU ou Modbus ASCII. z S'ils sont envoyés au format Modbus ASCII, entrez 7 dans ce champ. z S'ils sont envoyés au format Modbus RTU, entrez 8. Si vous envoyez des messages ASCII, ce registre peut être réglé sur les bits de données 7 ou 8. Entrées de registre correspondant aux mots de commande Le bloc RTU interprète chaque bit du mot de commande comme fonction de mise en œuvre ou d'exécution. Vous trouverez ci-dessous la définition des bits des entrées de registre de mots de commande. Entrée de registre 1016 Définitions 1 (bit de poids fort) Non utilisé 2 Validation du contrôle RTS/CTS 3 Non utilisé 4 Non utilisé 5 Non utilisé 6 Non utilisé 7 Validation des messages de type chaîne de caractères ASCII 8 Validation des messages Modbus 9 Non utilisé 10 Non utilisé 11 Non utilisé 12 Non utilisé 13 Non utilisé 14 Déconnexion du modem 15 Numérotation sur le modem 16 (bit de poids faible) Initialisation du modem 31007524 8/2010 RTU : terminal déporté Pour plus d'informations sur les bits 2, 7 et 8, reportez-vous à la section ci-dessous. z z z 31007524 8/2010 Bit 2 : validation du contrôle RTS/CTS (request-to-send/clear-to-send) Ce bit doit être activé lorsqu'un équipement DCE (Data Communication Equipment, matériel de transmission de données) connecté à l'automate nécessite un protocole matériel utilisant le contrôle RTS/CTS. Ce bit peut être utilisé conjointement avec les valeurs contenues dans le registre de retard de début de transmission (4xxxx + 13) et dans le registre de retard de fin de transmission (4xxxx + 13). Le retard de début de transmission maintient le signal RTS activé pendant une durée pouvant varier entre 0 et 9 999 ms avant que le bloc RTU n'envoie un message à partir du port de l'automate. Une fois que le bloc RTU a envoyé un message, le retard de fin de transmission maintient le signal RTS activé pendant une durée pouvant varier entre 0 et 9 999 ms. Lorsque le retard de fin de transmission a expiré, le bloc RTU désactive le signal RTS. Bit 7 : validation des messages de type chaîne de caractères ASCII Ce bit doit être activé pour envoyer des messages de type chaîne de caractères ASCII à partir du port de communication n° 1 de l'automate. Le bloc RTU peut envoyer une chaîne ASCII dont la longueur maximum peut atteindre 512 caractères. Chaque message ASCII doit être programmé dans des registres 4x successifs de l'automate. Deux caractères sont autorisés par registre. Remarque : Cette chaîne de message ASCII ne doit pas être confondue avec un message Modbus envoyé au format ASCII. Bit 8 : validation des messages Modbus Ce bit doit être activé pour envoyer des messages Modbus à partir du port de communication n° 1 de l'automate. Les messages Modbus peuvent être envoyés au format RTU ou ASCII. z Si vous envoyez des messages Modbus au format RTU, réglez les bits de données du registre de bits de données (4xxxx + 4) sur 8. z Si vous envoyez un message Modbus au format ASCII, réglez les bits de données du registre de bits de données (4xxxx + 4) sur 7. 1017 RTU : terminal déporté 1018 31007524 8/2010 SAVE : sauvegarde mémoire flash 31007524 8/2010 SAVE : sauvegarde mémoire flash 162 Introduction Ce chapitre décrit l'instruction SAVE. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Description sommaire 1020 Représentation 1021 Description des paramètres 1022 1019 SAVE : sauvegarde mémoire flash Description sommaire Description de la fonction NOTE : Cette instruction est disponible avec la famille des automates TSX Compact, des processeurs Quantum 434 12/ 534 14 et des processeurs Momentum CCC 960 x0/ 980 x0. L'instruction SAVE sauvegarde un bloc de registres 4x dans la mémoire d'état où ils sont protégés de toute modification non autorisée. 1020 31007524 8/2010 SAVE : sauvegarde mémoire flash Représentation Symbole Représentation de l'instruction Description des paramètres Description des paramètres de l'instruction Paramètres Référence Type de de mémoire données d'état Signification Entrée haute 0x, 1x Aucun Début de l'opération SAVE : elle doit rester activée jusqu'à ce que l'opération s'achève sans erreur ou qu'une erreur se produise. registre (partie haute) 4x INT, UINT, Premier des 512 registres 4x successifs WORD maximum à sauvegarder dans la mémoire d'état 1, 2, 3, 4 (voir page 1022) (partie médiane) INT Valeur entière qui définit le tampon spécifique où le bloc de données doit être sauvegardé longueur (partie basse) INT Nombre de mots à sauvegarder, compris entre 1 et 512 Sortie haute 31007524 8/2010 0x Aucun Activée = SAVE est actif Sortie médiane 0x (voir page 1022) Aucun Activée = SAVE n'est pas autorisé 1021 SAVE : sauvegarde mémoire flash Description des paramètres 1, 2, 3, 4 (partie médiane) La partie médiane définit le tampon spécifique, dans la mémoire d'état, où le bloc de données doit être sauvegardé. Quatre tampons de 512 mots sont autorisés. Chaque tampon se définit en plaçant la valeur correspondante en partie médiane ; autrement dit la valeur 1 représente le premier tampon, la valeur 2 le second tampon, etc. Les valeurs permises sont 1, 2, 3 et 4. Lorsque l'automate démarre, les quatre tampons sont à zéro. Par conséquent, vous ne pouvez pas sauvegarder les données dans le même tampon sans d'abord les charger avec l'instruction LOAD (voir page 695). Si vous tentez de le faire, la sortie médiane passe à l'état actif. En d'autres termes, dès qu'un tampon est utilisé, il ne pourra l'être à nouveau qu'après suppression des données. Sortie médiane La sortie médiane passe à l'état actif lorsque les données précédemment sauvegardées n'ont pas été utilisées par l'instruction LOAD (voir page 695). Vous évitez ainsi d'écraser malencontreusement les données du tampon SAVE. 1022 31007524 8/2010 SBIT : mise à 1 de bit 31007524 8/2010 SBIT : mise à 1 de bit 163 Introduction Ce chapitre décrit l'instruction SBIT. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Description sommaire 1024 Représentation 1025 1023 SBIT : mise à 1 de bit Description sommaire Description de la fonction L'instruction Mise à 1 de bit (SBIT) vous permet de mettre un bit déterminé à l'état actif (1) en activant l'entrée supérieure. NOTE : L'instruction SBIT ne suit pas les mêmes règles de placement de réseau que les bobines référencées 0x. Une instruction SBIT ne peut pas être placée en colonne 11 d'un réseau et peut être positionnée à gauche d'autres éléments logiques sur les mêmes échelons du schéma. 1024 31007524 8/2010 SBIT : mise à 1 de bit Représentation Symbole Représentation de l'instruction Description des paramètres Description des paramètres de l'instruction Paramètres Référence de Type de données mémoire d'état Signification Entrée haute 0x, 1x Aucun Activée = Met le bit indiqué à 1. Le bit reste à 1 lorsque l'entrée n'est plus alimentée. n° de registre (partie haute) 4x WORD Registre de sortie dont la configuration binaire est contrôlée INT, UINT Indique lequel des 16 bits est positionné à 1 Aucun Est activée lorsque le bit spécifié est mis à 1, et reste activée jusqu'à ce qu'il soit mis à zéro (au moyen de l'instruction RBIT (voir page 991)) n° de bit (partie basse) Sortie haute 31007524 8/2010 0x 1025 SBIT : mise à 1 de bit 1026 31007524 8/2010 SCIF : interfaces de commande séquentielle 31007524 8/2010 SCIF : interfaces de commande séquentielle 164 Introduction Ce chapitre décrit l'instruction SCIF. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Description sommaire 1028 Représentation 1029 Description des paramètres 1031 1027 SCIF : interfaces de commande séquentielle Description sommaire Description de la fonction L'instruction SCIF exécute soit une opération de séquenceur à tambour, soit une comparaison d'entrées (ICMP) avec les données définies dans la table de données d'étape. La sélection de l'opération est effectuée en définissant la valeur du premier registre de la table de données d'étape : z 0 = mode tambour : L'instruction commande les sorties d'une application de séquenceur à tambour. z 1 = mode ICMP : L'instruction vient lire les entrées pour s'assurer que les fins de course, les détecteurs de proximité, les boutons poussoirs, etc., sont correctement positionnés pour permettre aux sorties du tambour d'être déclenchées. 1028 31007524 8/2010 SCIF : interfaces de commande séquentielle Représentation Symbole Représentation de l'instruction 31007524 8/2010 1029 SCIF : interfaces de commande séquentielle Description des paramètres Description des paramètres de l'instruction Paramètres Référence de mémoire d'état Type de données Signification Entrée haute 0x, 1x Aucun Activée = Déclenche l'opération de commande séquentielle définie Entrée médiane 0x, 1x Aucun Mode tambour : incrémente le pointeur d'étape à l'étape suivante Mode ICMP : l'état de la comparaison est transmis à la sortie médiane Entrée basse 0x, 1x Aucun Mode tambour : Activée = Remet le pointeur d'étape à 0 Mode ICMP : non utilisée pointeur d'étape (partie haute) 4x INT, UINT Numéro de l'étape en cours dans la table des données d'étape table des données d'étape (voir page 1031) (partie médiane) 4x INT, UINT Premier registre de la table des données d'étape Pour plus d'informations, reportez-vous à la section Table des données d'étape (partie médiane), page 1031. INT, UINT Nombre de registres spécifiques à l'application utilisés dans la table des données d'étape longueur (voir page 1032) (partie basse) 1030 Sortie haute 0x Aucun Donne une image de l'état de l'entrée haute Sortie médiane 0x Aucun Le mode tambour passe à l'état actif pour la dernière étape Remarque : Lors de l'utilisation de la sortie médiane, n'oubliez pas qu'en cas d'intégration avec une autre logique, si le pointeur d'étape est égal à zéro et si l'entrée médiane est activée, la sortie médiane est également activée. Dans ce cas, le pointeur d'étape est d'une étape hors de la séquence. Sortie basse 0x Aucun Activée = Erreur détectée 31007524 8/2010 SCIF : interfaces de commande séquentielle Description des paramètres Table des données d'étape (partie médiane) Le registre 4x mémorisé dans la partie médiane est le premier registre de la table de données d'étape. Les sept premiers registres de la table contiennent les données constantes et variables nécessaires à l'exécution de l'instruction : Registre Affiché Description 0 = mode tambour ; 1 = mode ICMP (la saisie d'une valeur différente dans ce registre entraînera la désactivation de toutes les sorties) Premier Données de sortie Chargé par SCIF à chaque résolution du bloc ; le registre contient le registre des données actuelles de l'étape implicite masquée (en mode tambour) masqué par le registre de masque de sortie Données brutes Chargé par l'utilisateur à partir d'un groupe d'entrées d'entrée séquentielles devant être utilisées par le bloc de l'étape en (en mode ICMP) cours Deuxième Données actuelles Chargé par SCIF à chaque résolution du bloc ; le registre implicite de l'étape contient des données de l'étape en cours (indiquée par le pointeur d'étape). Troisième Masque de sortie Chargé par l'utilisateur avant d'utiliser le bloc, le contenu ne implicite (en mode tambour) sera pas modifié lors de l'exécution du programme ; contient un masque à appliquer aux données à chaque étape du séquenceur. Masque d'entrée Chargé par l'utilisateur avant l'utilisation du bloc, il contient (en mode ICMP) un masque à relier par un ET logique avec les données brutes d'entrées pour chaque étape ; les bits masqués ne sont pas comparés ; les données masquées sont placées dans le registre de données d'entrées masquées. Chargé par SCIF à chaque exécution du bloc, il contient le Quatrième Données d'entrée résultat du ET logique entre le masque d'entrée et les implicite masquées données brutes d'entrée. (en mode ICMP) Non utilisé en mode tambour Chargé par SCIF à chaque exécution du bloc, il contient le Cinquième Etat de résultat du OU exclusif entre les données d'entrée implicite comparaison masquées et les données d'étape courante ; les entrées (en mode ICMP) non masquées n'étant pas dans l'état logique correct provoquent la mise à 1 du bit du registre associé ; les bits différents de zéro provoquent une comparaison non vérifiée et mettent à 1 la sortie médiane du bloc SCIF. Non utilisé en mode tambour Sixième Début de la table de Le premier de K registres de la table contenant les données implicite données de commande spécifiques à l'utilisateur. Note : Ce registre ainsi que les registres restants représentent les données d'étape spécifiques à l'application du procédé contrôlé. 31007524 8/2010 Nom du registre Type de sous– fonction 1031 SCIF : interfaces de commande séquentielle Longueur de la table des données d'étape (partie basse) Le nombre entier mémorisé dans la partie basse correspond à la longueur, c'est-àdire au nombre de registres spécifiques à l'application utilisés dans la table de données d'étape. La longueur peut varier entre 1 et 255. Le nombre total de registres nécessaires dans la table de données d'étape est égal à la longueur + 7. La longueur doit être ≥ à la valeur placée dans le registre des étapes utilisées dans la partie médiane. 1032 31007524 8/2010 SENS : détection 31007524 8/2010 SENS : détection 165 Introduction Ce chapitre décrit l'instruction SENS. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Description sommaire 1034 Représentation 1035 Description des paramètres 1037 1033 SENS : détection Description sommaire Description de la fonction L'instruction SENS teste et communique l'état (1 ou 0) d'une position de bit spécifique dans la matrice de données. Une position de bit est détectée par cycle. 1034 31007524 8/2010 SENS : détection Représentation Symbole Représentation de l'instruction 31007524 8/2010 1035 SENS : détection Description des paramètres Description des paramètres de l'instruction Paramètres Référence de Type de mémoire données d'état Entrée haute 0x, 1x Aucun Activée = Lit la position du bit Entrée médiane 0x, 1x Aucun Incrémente de 1 la position du bit au cycle suivant Entrée basse 0x, 1x Aucun Remet la position du bit à 1 position de bit (voir page 1037) (partie haute) 3x, 4x WORD Position de bit spécifique à détecter dans la matrice de données, définie explicitement comme entier ou mémorisée dans un registre, comprise entre 1 et 9 600 Pointeur : (999 - automate 16 bits) (max.) (9900 - automate 24 bits) matrice de données (partie médiane) 0x, 4x BOOL, WORD Premier mot ou registre de la matrice de données INT, UINT Longueur max. de la matrice 255 registres (4 080 bits - automate 16 bits) 600 registres (9 600 bits - automate 24 bits) longueur (voir page 1037) (partie basse) 1036 Signification Sortie haute 0x Aucun Donne une image de l'état de l'entrée haute Sortie médiane 0x Aucun Activée = Test de bit égal 1 Désactivée = Test de bit égal 0 Sortie basse 0x Aucun Activée = Erreur : position de bit > longueur de la matrice 31007524 8/2010 SENS : détection Description des paramètres Position de bit (partie haute) NOTE : Si la position de bit est saisie comme un nombre entier ou dans un registre 3x, l'instruction ignorera l'état des entrées médiane et basse. Longueur de la matrice (partie basse) Le nombre entier saisi en partie basse indique la longueur de la matrice, c'est-à-dire le nombre de registres ou de mots 16 bits de la matrice de données. La longueur peut varier entre 1 et 600 dans une UC de 24 bits, autrement dit une longueur de matrice de 200 signifie 3200 positions de bits. 31007524 8/2010 1037 SENS : détection 1038 31007524 8/2010 Liaisons 31007524 8/2010 Liaisons 166 Introduction Ce chapitre décrit l'élément d'instruction Liaisons. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Description sommaire 1040 Représentation 1041 1039 Liaisons Description sommaire Description de la fonction Les liaisons sont de simples connexions par ligne droite entre contacts et/ou instructions d'un réseau de schéma à contacts. Les liaisons verticales (|) et horizontales (—) sont utilisées pour créer des connexions entre les lignes et les colonnes de logique. Pour annuler une liaison verticale, utilisez une ouverture verticale. 1040 31007524 8/2010 Liaisons Représentation Liaisons verticales Elles relient verticalement des contacts ou des instructions dans une colonne de réseau, ou des entrées et sorties d'abonnés pour créer des conditions OU. Lorsque deux contacts sont raccordés par des liaisons verticales, le courant passe si un ou les deux contacts sont activés. Liaisons horizontales Assurent des connexions horizontales le long d'un échelon dans un réseau de schémas à contacts. 31007524 8/2010 1041 Liaisons 1042 31007524 8/2010 SKP : omission de réseaux 31007524 8/2010 SKP : omission de réseaux 167 Introduction Ce chapitre décrit l'instruction SKP. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Description sommaire 1044 Représentation 1045 1043 SKP : omission de réseaux Description sommaire Description de la fonction AVERTISSEMENT ENTREES ET SORTIES OMISES Lorsque vous utilisez l'instruction SKP, surveillez les sorties et les entrées omises. SKP est une instruction dangereuse qui doit être utilisée avec précaution. Si les entrées et sorties effectuant normalement des contrôles sont omises involontairement (ou non omises), le résultat peut engendrer des conditions dangereuses pour le personnel et les installations de l'application. Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des dommages matériels. ATTENTION LECTURE DES VALEURS PENDANT LA MODIFICATION Utilisez les registres 3xxxx et 4xxxx avec précaution. Le processeur peut lire la valeur pendant la modification. Le non-respect de ces instructions peut provoquer des blessures ou des dommages matériels. L'instruction SKP est une instruction de base présente dans tous les automates. Elle doit être utilisée avec précaution. L'instruction SKP permet de réduire la durée du cycle en laissant une partie de la logique non traitée. Le cycle logique omet alors les réseaux spécifiés dans le programme. La fonction SKP peut servir à : ignorer des séquences de programmes rarement utilisées ; z créer des sous-programmes. z L'instruction SKP permet d'omettre un certain nombre de réseaux dans un programme schéma à contacts. Lorsqu'elle est activée, l'opération SKP est exécutée à chaque cycle. Le reste du réseau où l'instruction apparaît représente le premier du nombre spécifié de réseaux à ignorer. L'UC continue à ignorer des réseaux jusqu'à ce que le nombre total de réseaux ignorés soit égal au nombre spécifié dans le bloc d'instructions ou jusqu'à ce que la limite d'un segment soit atteinte. Une opération SKP ne peut pas franchir une limite de segment. Une instruction SKP peut être activée seulement si vous avez précisé dans l'éditeur de la configuration automate que les sauts sont permis. SKP est une instruction nodale de niveau supérieur. 1044 31007524 8/2010 SKP : omission de réseaux Représentation Symbole Représentation de l'instruction Description des paramètres Description des paramètres de l'instruction Paramètres Référence de mémoire d'état Type de données Signification Entrée haute 1x Aucun L'état actif déclenche une opération d'omission de réseau lorsque le courant est transmis. Une opération SKP est exécutée à chaque cycle tant que l'entrée est activée. nombre de réseaux omis (partie haute) 3x, 4x INT, UINT WORD La valeur saisie dans la partie détermine le nombre de réseaux à omettre. La valeur peut être z indiquée explicitement sous forme de valeur constante entière comprise entre 1 et 999 ; z mémorisée dans un registre d'entrée 3xxxx ; z mémorisée dans un registre de sortie 4xxxx. La valeur de la partie inclut le réseau contenant l'instruction SKP. Les zones nodales du réseau où se trouve l'instruction SKP n'ayant pas encore été analysées seront omises ; ceci compte pour l'un des réseaux spécifiés comme devant être omis. L'UC continue d'omettre des réseaux jusqu'à ce que le nombre total de réseaux ignorés soit égal à la valeur définie. 31007524 8/2010 1045 SKP : omission de réseaux 1046 31007524 8/2010 SRCH : recherche 31007524 8/2010 SRCH: recherche 168 Introduction Ce chapitre décrit l'instruction SRCH. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Description sommaire 1048 Représentation 1049 Description des paramètres 1051 1047 SRCH : recherche Description sommaire Description de la fonction L'instruction SRCH recherche une configuration binaire spécifique dans les registres d'une table source. 1048 31007524 8/2010 SRCH : recherche Représentation Symbole Représentation de l'instruction Description des paramètres Description des paramètres de l'instruction Paramètres Type de Référence de mémoire données d'état Signification Entrée haute 0x, 1x Aucun Activée = Déclenche la recherche Entrée médiane 0x, 1x Aucun Désactivée = Recherche depuis le début Activée = Recherche depuis la dernière correspondance table source (partie haute) 3x, 4x INT, UINT, Table source dans laquelle effectuer la WORD recherche pointeur (voir page 1051) (partie médiane) 4x INT, UINT Pointeur vers la table source INT, UINT Nombre de registres dans la table source, compris entre 1 et 100 longueur de la table (partie basse) 31007524 8/2010 Sortie haute 0x Aucun Donne une image de l'état de l'entrée haute Sortie médiane 0x Aucun Activée = Correspondance trouvée 1049 SRCH : recherche Exemple SRCH Dans l'exemple suivant, nous recherchons une table source contenant cinq registres (40421 à 40425) pour une configuration binaire spécifique. Le registre du pointeur (40430) indique que la configuration binaire souhaitée est mémorisée dans le registre 40431. Or, le registre contient une valeur de bit égale à 3333. Dans chaque cycle où un contact F.M. 10001 passe de l'état repos à l'état actif, une configuration binaire équivalente à 3333 est recherchée dans la table source. Lorsque la correspondance est détectée, la sortie médiane transmet du courant vers la bobine 00142. Si le contact N.O. 10002 est à l'état repos lorsque la correspondance est détectée dans le registre 40423, l'instruction SRCH active la bobine 00142 pour un cycle, puis relance la recherche dans le cycle suivant en haut de la table source (registre 40421). Si le contact 10002 est à l'état actif, l'instruction SRCH active la bobine 00142 pour un cycle, puis lance la recherche dans le registre 40424. L'entrée haute étant un contact F.M., la valeur du pointeur est remise à zéro dans tous les cycles où l'entrée haute n'est pas alimentée. Nous utilisons une instruction BLKM pour régler la valeur du pointeur sur le registre 40500. 1050 31007524 8/2010 SRCH : recherche Description des paramètres Pointeur (partie médiane) Le registre 4x mémorisé en partie médiane est le pointeur vers la table source. Il pointe vers le registre source contenant la même valeur que celle mémorisée dans le registre suivant immédiatement le pointeur. Par exemple, si le registre pointeur est 400015, le registre 400016 contient une valeur pour laquelle l'instruction SRCH essaiera de trouver une correspondance dans la table source. 31007524 8/2010 1051 SRCH : recherche 1052 31007524 8/2010 STAT : état 31007524 8/2010 STAT : état 169 Introduction Ce chapitre décrit l'instruction STAT. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Description sommaire 1054 Représentation 1055 Description des paramètres 1056 Description de la table des états 1057 Mots 1 à 11 de l'état de l'automate pour Quantum et Momentum 1061 Mots 12 à 20 de l'état de fonctionnement des modules d'E/S pour Momentum 1066 Mots 12 à 171 de l'état de fonctionnement des modules d'E/S pour Quantum 1068 Mots 172 à 277 de l'état de communication pour Quantum 1070 Mots 1 à 11 de l'état de l'automate pour TSX Compact et Atrium 1075 Mots 12 à 15 de la santé des modules d'E/S pour TSX Compact 1078 Mots 182 à 184 de l'état du fonctionnement global et des nouvelles tentatives pour TSX Compact 1079 1053 STAT : état Description sommaire Description de la fonction L'instruction STAT permet l'accès à un nombre de mots défini dans une table d'états (voir page 1057) de la mémoire système de l'automate. Des données vitales de diagnostic concernant la santé de l'automate et de ses stations d'E/S déportées y sont placées. Ces données comprennent : l'état de l'automate z les états d'erreur possibles des modules d'E/S z l'état de communication entrée–automate–sortie z 1054 31007524 8/2010 STAT : état Représentation Symbole Représentation de l'instruction Description des paramètres Description des paramètres de l'instruction Paramètres Type de Référence de mémoire données d'état Signification Entrée haute 0x, 1x Activée = Copie un nombre défini de mots depuis la table des états 0x, 4x cible (voir page 1056) (partie haute) INT, UINT, Première position du bloc cible BOOL, WORD longueur (voir page 1056) (partie basse) INT, UINT Nombre de registres ou de mots 16 bits du bloc cible Le nombre entier saisi en partie basse indique la longueur de la matrice, c'est-à-dire le nombre de registres ou de mots 16 bits de la matrice de données. La longueur peut varier entre 1 et 255 dans une UC 16 bits et entre 1 et 600 dans une UC 24 bits. Ainsi, une longueur de matrice de 200 signifie 3 200 positions de bits. Remarque : Si des références 0xxxx sont utilisées comme cible, elles ne peuvent pas être programmées comme bobines, seulement comme contacts référençant ces numéros de bobines. Pour plus d'informations sur la longueur de table et les automates, reportez-vous à la section Longueur (partie basse), page 1056. Aucun Activée = Opération réussie Sortie haute 31007524 8/2010 Aucun 0x 1055 STAT : état Description des paramètres Mode de fonctionnement L'instruction STAT vous permet de copier tout ou partie des mots d'état dans un bloc de registres ou un bloc de références TOR successives. La copie vers le bloc STAT commence toujours par le premier mot de la table pour s'arrêter au dernier mot qui vous intéresse. Par exemple, si le tableau des états a une longueur de 277 mots et que vous vous intéressez uniquement à la statistique fournie par le mot 11, il vous suffit de copier les mots 1 à 11 en définissant une longueur de 11 dans l'instruction STAT. Bloc cible (partie haute) Le nombre saisi en partie haute est la première position du bloc cible, autrement dit le bloc dans lequel les mots actuellement intéressants de la table des états seront copiés. Le nombre de registres de sortie ou de mots 16 bits du bloc cible est défini en partie basse (longueur). NOTE : Nous vous recommandons de ne pas utiliser de données TOR dans la partie cible STAT en raison du trop grand nombre qui serait nécessaire pour contenir les informations d'état. Longueur (partie basse) Le nombre entier saisi en partie basse indique le nombre de registres ou de mots 16 bits du bloc cible dans lequel les informations d'état actuelles seront écrites. La longueur maximum permise diffère en fonction du type d'automate utilisé et du type de protocole de communication d'E/S employé. z Pour un automate à UC de type modulaire 984A, 984B ou 984X utilisant le protocole RIO S901, la plage disponible de la table d'état système varie entre 1 et 75 mots. z Pour les automates à UC 16 bits utilisant le protocole RIO S908 (par exemple les automates à UC de type carte 38x, 48x et 68x), la plage disponible de la table d'état système varie entre 1 et 255 z Pour les automates à UC 24 bits utilisant le protocole RIO S908 (par exemple les automates à UC de type carte 38x, 48x et 68x), la plage disponible de la table d'état système varie entre 1 et 277 z Pour les automates Compaq-984, la plage disponible de la table d'état système varie entre 1 et 184 z Pour les automates Modicon Micro, la plage disponible de la table d'état système varie entre 1 et 56 1056 31007524 8/2010 STAT : état Description de la table des états Généralités L'instruction STAT permet d'afficher l'état de l'automate et le système des E/S pour Quantum (voir page 1057), Atrium (voir page 1060), TSX Compact (voir page 1060) et Momentum (voir page 1059). Les 11 premiers mots d'état sont utilisés pareillement par Quantum et Momentum et pareillement par TSX Compact et Atrium. Les mots suivants ont une signification différente pour Quantum, TSX Compact et Momentum. Vue d'ensemble Quantum Les 277 mots de la table des états s'organisent en trois sections : Etat de l'automate (mots 1 à 11) (voir page 1061) z Fonctionnement des modules d'E/S (mots 12 à 171) (voir page 1068) z Fonctionnement des communications d'E/S (mots 172 à 277) (voir page 1070) z Mots de la table des états : 31007524 8/2010 Mot décimal Contenu du mot Mot hex 1 Etat de l'automate 01 2 Etat de la redondance d'UC 02 3 Etat de l'automate 03 4 Etat du RIO 04 5 Etat d'arrêt de l'automate 06 6 Nombre de segments en schéma à contacts 06 7 Pointeur (EOL) de fin de logique 07 8 Redondance et timeout du RIO 08 9 Etat des messages ASCII 09 10 Etat Marche/chargement/optimisé 0A 11 Inutilisé 0B 12 Station 1, châssis 1 0C 13 Station 1, châssis 2 0D ... ...... ... 16 Station 1, châssis 5 0F 17 Station 2, châssis 1 10 18 Station 2, châssis 2 11 ... ...... ... 171 Station 32, châssis 5 AB 172 Code d'erreur de démarrage S908 AC 1057 STAT : état 1058 Mot décimal Contenu du mot Mot hex 173 Erreurs du câble A AD 174 Erreurs du câble A AE 175 Erreurs du câble A AF 176 Erreurs du câble B B0 178 Erreurs du câble B B1 178 Erreurs du câble B B2 179 Erreurs de communication globale B3 180 Erreurs de communication globale B4 181 Erreurs de communication globale B5 182 Erreurs, état de fonctionnement et compteurs des nouvelles tentatives de la station 1 des automates TSX Compact 984 (premier mot) B6 183 Erreurs, état de fonctionnement et compteurs des nouvelles tentatives de la station 1 des automates TSX Compact 984 (second mot) B7 184 Erreurs, état de fonctionnement et compteurs des nouvelles tentatives de la station 1 des automates TSX Compact 984 (troisième mot) B8 185 Erreurs, état de fonctionnement et compteurs des nouvelles tentatives de la station 2 des automates TSX Compact 984 (premier mot) B9 ... ...... ... 275 Erreurs, état de fonctionnement et compteurs des nouvelles tentatives de la station 32 des automates TSX Compact 984 (premier mot) 113 276 Erreurs, état de fonctionnement et compteurs des nouvelles tentatives de la station 32 des automates TSX Compact 984 (second mot) 114 277 Erreurs, état de fonctionnement et compteurs des nouvelles tentatives de la station 32 des automates TSX Compact 984 (troisième mot) 115 31007524 8/2010 STAT : état Présentation de Momentum Les 20 mots de la table des états s'organisent en deux sections : z Etat de l'automate (mots 1 à 11) (voir page 1061) z Fonctionnement des modules d'E/S (mots 12 à 20) (voir page 1066) Mots de la table des états : 31007524 8/2010 Mot décimal Contenu du mot Mot hex 1 Etat de l'automate 01 2 Etat de la redondance d'UC 02 3 Etat de l'automate 03 4 Etat du RIO 04 5 Etat d'arrêt de l'automate 06 6 Nombre de segments en schéma à contacts 06 7 Pointeur (EOL) de fin de logique 07 8 Redondance et timeout du RIO 08 9 Etat des messages ASCII 09 10 Etat Marche/chargement/optimisé 0A 11 Inutilisé 0B 12 Santé du module d'E/S Momentum local 0C 13 Santé du module de bus d'E/S 0D 14 Santé du module de bus d'E/S 0E 15 Santé du module de bus d'E/S 0F 16 Santé du module de bus d'E/S 10 17 Santé du module de bus d'E/S 11 18 Santé du module de bus d'E/S 12 19 Santé du module de bus d'E/S 13 20 Santé du module de bus d'E/S 14 1059 STAT : état Présentation de TSX Compact et d'Atrium Les 184 mots de la table des états s'organisent en trois sections : Etat de l'automate (mots 1 à 11) (voir page 1075) z Fonctionnement des modules d'E/S (mots 12 à 15) (voir page 1078) z Inutilisé (de 16 à 181) z Etat de fonctionnement global et des nouvelles tentatives de communication (mots 182 à 184) (voir page 1079) z Mots de la table des états : Mot décimal 1060 Contenu du mot Mot hex 1 Etat de l'automate 01 2 Inutilisé 02 3 Etat de l'automate 03 4 Inutilisé 04 5 Etat d'arrêt de l'automate 06 6 Nombre de segments en schéma à contacts 06 7 Pointeur (EOL) de fin de logique 07 8 Inutilisé 08 9 Inutilisé 09 10 Etat Marche/chargement/optimisé 0A 11 Inutilisé 0B 12 Etat de fonctionnement des E/S Châssis 1 0C 13 Etat de fonctionnement des E/S Châssis 2 0D 14 Etat de fonctionnement des E/S Châssis 3 0E 15 Etat de fonctionnement des E/S Châssis 4 0F 16 à 181 Inutilisé 10 à B5 182 Etat de fonctionnement B6 183 Compteur des erreurs d'E/S B7 184 Compteur des nouvelles tentatives du bus PAB B8 31007524 8/2010 STAT : état Mots 1 à 11 de l'état de l'automate pour Quantum et Momentum Etat de l'automate (mot 1) Le mot 1 affiche les aspects suivants de l'état de l'automate : Bit Fonction 1-5 Inutilisé 6 1 = autorisation cycle constant 7 1 = autorisation retard cycle unique 8 1 = logique utilisateur 16 bits 0 = logique utilisateur 24 bits 9 1 = alimentation CA activée 10 1 = voyant RUN éteint 11 1 = protection de la mémoire désactivée 12 1 = pile défectueuse 13 - 16 Inutilisé Etat de la redondance d'UC (mot 2) Le mot 2 affiche l'état de la redondance d'UC pour les automates 984 qui utilisent des modules d'UC redondante S911/R911 : Bit 31007524 8/2010 Fonction 1 1 = S911/R911 présent et OK 2 - 10 Inutilisé 11 0 = automate basculé sur A 1 = automate basculé sur B 12 0 = les automates ont une logique cohérente 1 = les automates n'ont pas de logique cohérente 13, 14 Etat du système distant : 0 1 = déconnecté (1 dec) 1 0 = primaire (2 dec) 1 1 = redondant (3 dec) 15, 16 Etat du système local : 0 1 = déconnecté (1 dec) 1 0 = primaire (2 dec) 1 1 = redondant (3 dec) 1061 STAT : état Etat de l'automate (mot 3) Le mot 3 affiche plus d'aspects de l'état de l'automate : Bit Fonction 1 1 = premier cycle 2 1 = commande de démarrage en attente 3 1 = délai du cycle constant dépassé 4 1 = Configuration initiale existante 5 - 12 Inutilisé 13 - 16 Cycles uniques Etat du RIO (mot 4) Le mot 4 est utilisé pour des informations sur le processeur d'E/S : Bit 1062 Fonction 1 1 = processeur d'E/S défaillant 2 1 = timeout du processeur d'E/S 3 1 = rebouclage du processeur d'E/S 4 1 = défaillance mémoire du processeur d'E/S 5 - 12 Inutilisé 13 - 16 Les E/S = 00 n'ont pas répondu 01 = pas de réponse reçue 02 = échec du rebouclage 31007524 8/2010 STAT : état Etat d'arrêt de l'automate (mot 5) ATTENTION Utilisation d'un automate Quantum ou 984-684E/785E Si vous utilisez un automate Quantum ou 984–684E/785E, le bit 15 du mot 5 n'est jamais mis à 1. Ces automates peuvent démarrer et marcher en ayant leurs bobines désactivées en mode MARCHE (optimisé). De même, tous les bits du mot 5 doivent être mis à 0 lorsque l'un de ces automates est en marche. Le non-respect de ces instructions peut provoquer des blessures ou des dommages matériels. Le mot 5 affiche les conditions d'état d'arrêt de l'automate : 31007524 8/2010 Bit Fonction 1 1 = arrêt du port de périphérique 2 Erreur de parité de la mémoire étendue (pour les automates à UC de type modulaire) ou erreur d'affectation des E/S/S908 (pour les autres automates) Si le bit = 1 dans un automate 984B, une erreur a été détectée dans la mémoire étendue ; l'automate s'exécutera, mais l'erreur sera envoyée pour les fonctions XMRD/XMWT. Si le bit = 1 pour tout autre automate que à UC de type modulaire, soit une erreur d'affectation des E/S a été détectée, soit le S908 manque dans une configuration multi– stations. 3 1 = automate en Configuration initiale 4 1 = intervention du périphérique non valide 5 1 = ordonnanceur de segments invalide 6 1 = le lancement de l'abonné n'a pas démarré le segment 7 1 = échec du test de la mémoire d'état 8 1 = affectation des E/S invalide 9 1 = temporisation chien de garde expirée 10 1 = erreur d'horloge en temps réel 11 Le traitement de la logique de l'UC a échoué (pour les automates à UC de type modulaire) ou le tableau d'utilisation des bobines (pour les autres automates). Si le bit = 1 dans un automate à UC de type modulaire, les diagnostics internes ont détecté une défaillance de l'UC. Si le bit = 1 dans tout autre automate qu'à UC modulaire, le tableau d'utilisation des bobines ne correspond pas aux bobines de la logique utilisateur. 12 1 = défaillance du processeur d'E/S 13 1 = abonné invalide 14 1 = total de contrôle logique 15 1 = bobine désactivée en mode MARCHE (voir le ATTENTION ci-dessous) 16 1 = mauvaise config. 1063 STAT : état Etat d'arrêt de l'automate (mot 6) Le mot 6 affiche le nombre de segments en schéma à contacts ; un nombre binaire est affiché : Bit Fonction 1 - 16 Nombre de segments (exprimé en nombre décimal) Etat d'arrêt de l'automate (mot 7) Le mot 7 affiche l'adresse du pointeur de fin de logique (EOL) : Bit Fonction 1 - 16 Adresse du pointeur de fin de logique Redondance et Timeout du RIO (mot 8) Le mot 8 utilise ses quatre bits de poids faible pour afficher la constante du timeout des E/S décentralisées : Bit Fonction 1 - 12 Inutilisé 13 - 16 Constante timeout RIO Etat des messages ASCII (mot 9) Le mot 9 utilise ses quatre bits de poids faible pour afficher l'état des messages ASCII : 1064 Bit Fonction 1 à 12 Inutilisé 13 1 = incohérence entre le nombre de messages et les pointeurs 14 1 = pointeur de message invalide 15 1 = message invalide 16 1 = erreur de total de contrôle des messages 31007524 8/2010 STAT : état Etat Marche/chargement/optimisé (mot 10) Le mot 10 utilise ses deux bits de poids faible pour afficher l'état Marche/chargement/optimisé : Bit Fonction 1 à 14 Inutilisé 15, 15 0 0 = Optimisé (0 dec) 0 1 = Marche (1 dec) 1 0 = Chargement (2 dec) Mot 11 Ce mot n'est pas utilisé. 31007524 8/2010 1065 STAT : état Mots 12 à 20 de l'état de fonctionnement des modules d'E/S pour Momentum Etat de fonctionnement des modules d'E/S Les mots d'état de 12 à 20 affichent l'état de fonctionnement des modules d'E/S. Un mot est réservé pour chacune des stations locales, huit mots sont utilisés pour représenter l'état de fonctionnement de 128 modules de bus d'E/S maximum Etat de fonctionnement du module d'E/S Momentum local Le mot 12 affiche l'état de fonctionnement du module d'E/S local Momentum : Bit Fonction 1 1 = Module local 2 - 16 Inutilisé Etat de fonctionnement du module de bus d'E/S Momentum Les mots 13 à 20 affichent l'état de fonctionnement des modules de bus d'E/S Momentum, comme suit : 1066 Mot Modules de bus d'E/S 13 1 à 16 14 17 à 32 15 33 à 48 16 49 à 64 17 65 à 80 18 81 à 96 19 97 à 112 20 113 à 128 31007524 8/2010 STAT : état Chaque mot affiche l'état de fonctionnement des modules de bus d'E/S Momentum, comme suit : 31007524 8/2010 Bit Fonction 1 1 = Module 1 2 1 = Module 2 3 1 = Module 3 4 1 = Module 4 5 1 = Module 5 6 1 = Module 6 7 1 = Module 7 8 1 = Module 8 9 1 = Module 9 10 1 = Module 10 11 1 = Module 11 12 1 = Module 12 13 1 = Module 13 14 1 = Module 14 15 1 = Module 15 16 1 = Module 16 1067 STAT : état Mots 12 à 171 de l'état de fonctionnement des modules d'E/S pour Quantum Mots d'état du RIO Les mots d'état de 12 à 20 affichent l'état de fonctionnement des modules d'E/S. Cinq mots sont réservés pour chacune des 32 stations maximum, un seul mot pour chacun des cinq châssis possibles (logements d'E/S) dans chaque station. Chaque châssis peut contenir jusqu'à 11 modules d'E/S ; les bits de 1 à 11 de chaque mot représentent l'état de fonctionnement du module d'E/S associé de chaque châssis. Bit Fonction 1 1 = Emplacement 1 2 1 = Emplacement 2 3 1 = Emplacement 3 4 1 = Emplacement 4 5 1 = Emplacement 5 6 1 = Emplacement 6 7 1 = Emplacement 7 8 1 = Emplacement 8 9 1 = Emplacement 9 10 1 = Emplacement 10 11 1 = Emplacement 11 12 1 = Emplacement 12 13 1 = Emplacement 13 14 1 = Emplacement 14 15 1 = Emplacement 15 16 1 = Emplacement 16 Quatre conditions doivent être respectées avant qu'un module d'E/S puisse indiquer un bon fonctionnement : z L'emplacement doit être affecté en E/S z L'emplacement doit contenir un module de type correct z Les communications valides doivent exister entre le module et l'interface du RIO pour les stations distantes z Les communications valides doivent exister entre l'interface du RIO de chaque station distante et le processeur d'E/S de l'automate 1068 31007524 8/2010 STAT : état Mots d'état pour les commandes d'opérateur MMI L'état des 32 commandes des boutons Eléments et des unités PanelMate sur un réseau RIO peut également être géré avec un mot d'état de fonctionnement des E/S. Les commandes de bouton occupent l'emplacement 4 dans un châssis d'E/S et peuvent être gérés au bit 4 du mot d'état approprié. Un PanelMate sur réseau RIO occupe l'emplacement 1 du châssis 1 de la station et peut être géré au bit 1 du premier mot d'état pour la station. NOTE : L'état de communication du clavier ASCII peut être géré avec les codes d'erreur dans les blocs ASCII de lecture/écriture (READ/WRIT). 31007524 8/2010 1069 STAT : état Mots 172 à 277 de l'état de communication pour Quantum Etat du DIO Les mots d'état 172 à 277 contiennent l'état de communication du système d'E/S. Les mots 172 à 181 sont des mots d'état globaux. Parmi les 96 mots restants, trois mots sont dédiés à chacune des 32 stations maximum, en fonction du type de l'automate. Le mot 172 stocke le code d'erreur de démarrage Quantum. Ce mot est toujours 0 lorsque le système est en marche. En cas d'erreur, l'automate ne démarre pas, mais génère un code d'état d'arrêt de 10 (mot 5 (voir page 1063)). Codes d'erreur de démarrage Quantum 1070 Code Erreur Signification (endroit où l'erreur s'est produite) 01 BADTCLEN Longueur d'affectation des E/S 02 BADLNKNUM Numéro de lien d'E/S décentralisée 03 BADNUMDPS Nombre de stations dans l'affectation des E/S 04 BADTCSUM Total de contrôle d'affectation des E/S 10 BADDDLEN Longueur du descripteur de station 11 BADDRPNUM Numéro de station d'E/S 12 BADHUPTIM Temps d'autonomie de la station 13 BADASCNUM Numéro de port ASCII 14 BADNUMODS Nombre de modules de la station 15 PRECONDRP Station déjà configurée 16 PRECONPRT Port déjà configuré 17 TOOMNYOUT Plus de 1024 points de sortie 18 TOOMNYINS Plus de 1024 points d'entrée 20 BADSLTNUM Adresse d'emplacement de module 21 BADRCKNUM Adresse du châssis de module 22 BADOUTBC Nombre d'octets de sortie 23 BADINBC Nombre d'octets d'entrée 25 BADRF1MAP Premier numéro de référence 26 BADRF2MAP Second numéro de référence 27 NOBYTES Pas d'octets en entrée ou sortie 28 BADDISMAP Bits internes pas sur limite des 16 bits 30 BADODDOUT Module de sortie impair dépareillé 31 BADODDIN Module d'entrée impair dépareillé 32 BADODDREF Référence de module impair dépareillé 33 BAD3X1XRF Référence 1x après le registre 3x 34 BADDMYMOD Référence du module factice déjà utilisé 31007524 8/2010 STAT : état Code Erreur Signification (endroit où l'erreur s'est produite) 35 NOT3XDMY Le module 3x n'est pas factice 36 NOT4XDMY Le module 4x n'est pas factice 40 DMYREAL1X Module 1x factice puis réel 41 REALDMY1X Module 1x réel puis factice 42 DMYREAL3X Module 3x factice puis réel 43 REALDMY3X Module 3x réel puis factice Etat du câble A Les mots 173 à 175 sont des mots d'erreur du câble A : Mot 173 Bit Fonction 1à8 Compte les erreurs de trame 9 à 16 Compte les dépassements du récepteur DMA Mot 174 Bit Fonction 1à8 Compte les erreurs de réception 9 à 16 Compte les réceptions de station incorrectes Mot 175 31007524 8/2010 Bit Fonction 1 1 = Trame trop courte 2 1 = Pas de fin de trame 3 à 12 Inutilisé 13 1 = Erreur CRC 14 1 = Erreur d'alignement 15 1 = Erreur de dépassement 16 Inutilisé 1071 STAT : état Etat du câble B Les mots 176 à 178 sont des mots d'erreur du câble A : Mot 176 Bit Fonction 1à8 Compte les erreurs de trame 9 à 16 Compte les dépassements du récepteur DMA Mot 177 Bit Fonction 1à8 Compte les erreurs de réception 9 à 16 Compte les réceptions de station incorrectes Mot 178 1072 Bit Fonction 1 1 = Trame trop courte 2 1 = Pas de fin de trame 3 à 12 Inutilisé 13 1 = Erreur CRC 14 1 = Erreur d'alignement 15 1 = Erreur de dépassement 16 Inutilisé 31007524 8/2010 STAT : état Etat de communication globale (mots 179 à 181) Le mot 179 affiche l'état de communication globale : Bit Fonction 1 1 = Santé comm 2 1 = Etat du câble A 3 1 = Etat du câble B 4 Inutilisé 5à8 Compteur des communications perdues 9 à 16 Compteur totalisateur des nouvelles tentatives Le mot 180 est le compteur totalisateur global des erreurs pour le câble A : Bit Fonction 1à8 Compte les erreurs détectées 9 à 162 Ne compte aucune réponse Le mot 181 est le compteur totalisateur global des erreurs pour le câble B : Bit Fonction 1à8 Compte les erreurs détectées 9 à 162 Ne compte aucune réponse Etat des E/S décentralisées (mots 182 à 277) Les mots 182 à 277 permettent de décrire l'état de la station des E/S décentralisées ; trois mots d'état sont utilisés pour chaque station. Le premier mot de chaque groupe de trois affiche l'état de communication pour la station appropriée : 31007524 8/2010 Bit Fonction 1 1 = Santé de la communication 2 1 = Etat du câble A 3 1 = Etat du câble B 1073 STAT : état Bit Fonction 4 Inutilisé 5à8 Compteur des communications perdues 9 à 16 Compteur totalisateur des nouvelles tentatives Le second mot de chaque groupe de trois est le compteur totalisateur des erreurs sur le câble A pour la station appropriée : Bit Fonction 1à8 Au moins une erreur dans les mots 173 à 175 9 à 162 Ne compte aucune réponse Le troisième mot de chaque groupe de trois est le compteur totalisateur des erreurs sur le câble B pour la station appropriée : Bit Fonction 1à8 Au moins une erreur dans les mots 176 à 178 9 à 162 Ne compte aucune réponse NOTE : Pour les automates où la station 1 est réservée pour les E/S locales, les mots d'état de 182 à 184 sont utilisés comme suit : Le mot 182 affiche l'état de la station locale : Bit Fonction 1 1 = Tous les modules sont OK 2à8 Toujours 0 9 à 162 Nombre de fois où un module a été vu comme étant défectueux ; le compteur reboucle à 255 Le mot 183 est un compteur de défaut 16 bits qui indique le nombre de fois où un module a été jugé défectueux lors de l'accès à ce module. Reboucle à 65535. Le mot 184 est un compteur de défaut 16 bits qui indique le nombre d'erreurs de communication survenues lors d'un accès à un module d'E/S. Reboucle à 65535. 1074 31007524 8/2010 STAT : état Mots 1 à 11 de l'état de l'automate pour TSX Compact et Atrium Etat de l'UC (mot 1) Le mot 1 affiche les aspects suivants de l'état de l'automate : Bit Fonction 1à5 Inutilisé 6 1 = autorisation cycle constant 7 1 = autorisation retard cycle unique 8 1 = logique utilisateur 16 bits 0 = logique utilisateur 24 bits 9 1 = alimentation CA activée 10 1 = voyant RUN éteint 11 1 = protection de la mémoire désactivée 12 1 = pile défectueuse 13 à 16 Inutilisé Mot 2 Ce mot n'est pas utilisé. Etat de l'automate (mot 3) Le mot 3 affiche les aspects de l'état de l'automate : Bit Fonction 1 1 = premier cycle 2 1 = commande de démarrage en attente 3 1 = le temps de cycle a dépassé la cible du cycle constant 4 1 = configuration initiale existante 5 à 12 Inutilisé 13 à 16 Cycles uniques Mot 4 Ce mot n'est pas utilisé. 31007524 8/2010 1075 STAT : état Etat d'arrêt de l'UC (mot 5) Le mot 5 affiche les conditions d'état d'arrêt de l'automate : Bit Fonction 1 1 = arrêt du port de périphérique 2 1 = erreur de parité XMEM 3 1 = configuration initiale 4 1 = intervention du périphérique non valide 5 1 = ordonnanceur de segments invalide 6 1 = pas de départ de réseau (SON) au démarrage d'un segment 7 1 = échec du test de la mémoire d'état 8 1 = pas de fin de logique (EOL), (affectation des E/S incorrecte) 9 1 = la temporisation chien de garde a expiré 10 1 = erreur d'horloge en temps réel 11 1 = défaillance de l'UC 12 Inutilisé 13 1 = abonné invalide dans la logique du schéma à contacts 14 1 = erreur de total de contrôle logique 1 1 =bobine désactivée en mode MARCHE 16 1 = configuration automate défectueuse Nombre de segments du programme (mot 6) Le mot 6 affiche le nombre de segments en schéma à contacts ; un nombre binaire est affiché. Pendant la mise sous tension, ce mot est confirmé être le nombre d'éléments EOS (DOIO) plus 1 (pour les éléments de fin de logique) ; s'il est faux, un code d'arrêt est mis à 1, ce qui a pour effet d'éteindre le voyant run : 1076 Bit Fonction 1 à 16 Nombre de segments du programme en schéma à contacts en cours d'exécution (exprimé par un nombre décimal) 31007524 8/2010 STAT : état Adresse du pointeur de fin de logique (mot 7) Le mot 7 affiche l'adresse du pointeur de fin de logique (EOL) : Bit Fonction 1 à 16 Adresse du pointeur de fin de logique Mot 8, Mot 9 Ces mots ne sont pas utilisés. Etat Marche/chargement/optimisé (mot 10) Le mot 10 utilise ses deux bits de poids faible pour afficher l'état Marche/chargement/optimisé : Bit Fonction 1 à 14 Inutilisé 15, 16 0 0 = Optimisé (0 dec) 0 1 = Marche (1 dec) 1 0 = Chargement (2 dec) Mot 11 Ce mot n'est pas utilisé. 31007524 8/2010 1077 STAT : état Mots 12 à 15 de la santé des modules d'E/S pour TSX Compact Santé des modules d'E/S TSX Compact Les mots 12 à 15 permettent d'afficher le fonctionnement des modules d'E/S A120 des quatre châssis : Mot Numéro de châssis 12 1 13 2 14 3 15 4 Chaque mot contient l'état de fonctionnement de cinq modules d'E/S A120 au maximum. Le bit de poids fort (le plus à gauche) représente le fonctionnement du module à l'emplacement 1 du châssis : Bit Fonction 1 1 = Emplacement 1 2 1 = Emplacement 2 3 1 = Emplacement 3 4 1 = Emplacement 4 5 1 = Emplacement 5 6 à 16 Inutilisé Si un module est affecté en E/S et s'il est actif, le bit aura une valeur "1". Si un module est inactif ou n'est pas affecté en E/S, le bit aura une valeur "0". NOTE : Les emplacements 1 et 2 du châssis 1 (mot 12) ne sont pas utilisés parce que l'automate lui–même utilise ces deux emplacements. 1078 31007524 8/2010 STAT : état Mots 182 à 184 de l'état du fonctionnement global et des nouvelles tentatives pour TSX Compact Introduction Il existe trois mots contenant des informations sur le fonctionnement et la communication dans les modules d'E/S installés. S'ils sont gérés par le bloc Stat, on les trouve dans les mots 182 à 184. Cela nécessite une longueur de bloc Stat d'au moins 184 mots (les mots 16 à 181 ne sont pas utilisés). Mots 16 à 181 Ces mots ne sont pas utilisés. Etat de fonctionnement (mot 182) Le mot 182 incrémente à chaque défectuosité d'un module. Après une défectuosité du module, ce compteur ne réincrémentera que lorsque ce module redeviendra OK, puis sera de nouveau défectueux. Bit Fonction 1 1 = Tous les modules sont OK 2à9 Inutilisé 10 à 16 Compteur "Module devenu défectueux" Compteur des erreurs d'E/S (mot 183) Ce compteur est le même que celui cité plus haut, sauf que ce mot incrémente à chaque cycle où un module reste défectueux. Compteur des nouvelles tentatives du bus PAB (mot 184) Les diagnostics sont effectués sur les communications passant par ce bus. Ce mot doit normalement n'être formé que de zéros. Si au bout de 5 tentatives, une erreur de bus est toujours détectée, l'automate s'arrêtera et un code d'erreur 10 sera affiché. Une erreur peut se produire en cas de court–circuit de l'embase ou à cause d'un bruit. Le compteur reboucle en cours d'exécution. S'il y a moins de 5 tentatives, aucune erreur de bus n'est détectée. 31007524 8/2010 1079 STAT : état 1080 31007524 8/2010 SU16 : soustraction de valeurs 16 bits 31007524 8/2010 SU16 : soustraction de valeurs 16 bits 170 Introduction Ce chapitre décrit l'instruction SU16. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Description sommaire 1082 Représentation 1083 1081 SU16 : soustraction de valeurs 16 bits Description sommaire Description de la fonction L'instruction SU16 effectue une soustraction signée ou non signée 16 bits (valeur 1 - valeur 2) entre les valeurs haute et médiane, et place la différence signée ou non dans un registre de sortie 4x de la partie basse. 1082 31007524 8/2010 SU16 : soustraction de valeurs 16 bits Représentation Symbole Représentation de l'instruction Description des paramètres Description des paramètres de l'instruction 31007524 8/2010 Paramètres Référence Type de de mémoire données d'état Signification Entrée haute 0x, 1x Aucun Activée = Déclenche l'opération valeur 1 valeur 2 Entrée basse 0x, 1x Aucun Activée = Opération signée Désactivée = Opération non signée valeur 1 (partie haute) 3x, 4x INT, UINT Diminuende, peut être affiché explicitement sous forme d'entier (de 1 à 65 535) ou mémorisé dans un registre valeur 2 (partie médiane) 3x, 4x INT, UINT Diminuteur, peut être affiché explicitement sous forme d'entier (de 1 à 65 535) ou mémorisé dans un registre différence (partie basse) 4x INT, UINT Différence Sortie haute 0x Aucun Activée = Valeur 1 > valeur 2 Sortie médiane 0x Aucun Activée = Valeur 1 = valeur 2 Sortie basse 0x Aucun Activée = Valeur 1 < valeur 2 1083 SU16 : soustraction de valeurs 16 bits 1084 31007524 8/2010 SUB : soustraction 31007524 8/2010 SUB : soustraction 171 Introduction Ce chapitre décrit l'instruction SUB. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Description sommaire 1086 Représentation 1087 1085 SUB : soustraction Description sommaire Description de la fonction L'instruction SUB effectue une soustraction signée ou non signée 16 bits (valeur 1 valeur 2) entre les valeurs haute et médiane, et place la différence signée ou non dans un registre de sortie 4x de la partie basse. NOTE : SUB est souvent utilisée en tant que comparateur, l'état des sorties indiquant si la valeur 1 est supérieure, égale ou inférieure à la valeur 2. 1086 31007524 8/2010 SUB : soustraction Représentation Symbole Représentation de l'instruction Description des paramètres Description des paramètres de l'instruction 31007524 8/2010 Paramètres Référence Type de de mémoire données d'état Signification Entrée haute 0x, 1x Aucun Activée = Déclenche l'opération valeur 1 valeur 2 valeur 1 (partie haute) 3x, 4x INT, UINT Diminuende, peut être affiché explicitement sous forme d'entier ou mémorisé dans un registre Max. 255 - automate 16 bits Max. 999 - automate 24 bits Max. 65535 - 785L valeur 2 (partie médiane) 3x, 4x INT, UINT Diminuteur, peut être affiché explicitement sous forme d'entier ou mémorisé dans un registre Max. 255 - automate 16 bits Max. 999 - automate 24 bits Max. 65535 - 785L différence (partie basse) 4x INT, UINT Différence Sortie haute 0x Aucun Activée = Valeur 1 > valeur 2 Sortie médiane 0x Aucun Activée = Valeur 1 = valeur 2 Sortie basse 0x Aucun Activée = Valeur 1 < valeur 2 1087 SUB : soustraction 1088 31007524 8/2010 SWAP : permutation de bits VME 31007524 8/2010 SWAP : permutation de bits VME 172 Introduction Ce chapitre décrit l'instruction SWAP. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Description sommaire 1090 Représentation 1091 1089 SWAP : permutation de bits VME Description sommaire Description de la fonction Le bloc SWAP permet à l'utilisateur de lancer l'une des trois commandes de permutation : z Permutation des bits de poids fort et des bits de poids faible dans un mot 16 bits z Permutation des mots de poids fort et des mots de poids faible dans un mot double 32 bits z Permutation (inverse) des bits dans l'octet de poids faible d'un registre NOTE : Disponible uniquement sur l'automate Quantum VME-424/X. 1090 31007524 8/2010 SWAP : permutation de bits VME Représentation Symbole Représentation de l'instruction Description des paramètres Description des paramètres de l'instruction Paramètres Entrée haute Valeur (partie haute) Registre (partie médiane) Nombre de registres (partie basse) Sortie haute Sortie médiane Sortie basse 31007524 8/2010 Référence de mémoire d'état 0x, 1x 3x, 4x 0x 0x 0x Type de données Signification Aucun L'état actif déclenche une opération SWAP INT, UINT, Contient une constante comprise entre 1 et 3, WORD correspondant au type de permutation à exécuter : 1. Permutation des bits de poids fort et des bits de poids faible dans un mot de 16 bits. 2. Permutation des bits de poids fort et des bits de poids faible dans un mot double de 32 bits. 3. Permutation (inverse) des bits dans l'octet de poids faible d'un registre. INT, UINT, Contient le registre sur lequel la permutation WORD doit être exécutée INT, UINT, Contient une constante indiquant le nombre de WORD registres à faire permuter, en commençant par le registre source. Aucun Donne une image de l'entrée haute. Aucun Erreur Aucun Permutation réussie 1091 SWAP : permutation de bits VME 1092 31007524 8/2010 TTR : table vers registre 31007524 8/2010 TTR : table vers registre 173 Introduction Ce chapitre décrit l'instruction TTR. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Description sommaire 1094 Représentation : TTR - Table vers registre 1095 1093 TTR : table vers registre Description sommaire Description de la fonction Le bloc Table vers registre est l'une des quatre instructions de remplacement du 484. Elle copie le contenu d'un registre source (entrée ou sortie) dans un registre de sortie déterminé par la constante en partie basse. Ce registre source est désigné par le registre d'entrée ou de sortie indiqué en partie haute. Seule une telle opération peut être prise en charge par le système à chaque cycle. NOTE : Disponible uniquement sur les 984-351 et 984-455. 1094 31007524 8/2010 TTR : table vers registre Représentation : TTR - Table vers registre Symbole Représentation de l'instruction Description des paramètres Description des paramètres de l'instruction Paramètres 31007524 8/2010 Référence de mémoire d'état Type de données Signification Entrée haute 0x, 1x Aucun Source de commande Source (partie haute) 3x, 4x INT, UINT La partie source (ou partie haute) contient l'adresse du registre source. Les données situées dans l'adresse du registre source sont copiées dans l'adresse cible, déterminée par le pointeur de décalage cible. Cible (partie basse) (1 ... 254) (801 ... 824) INT, UINT Le pointeur est un registre 3xxxx ou 4xxxx dont le contenu indique la source. Une valeur comprise entre 1 et 254 indique un registre de sortie (40001 - 40254) tandis qu'une valeur comprise entre 801 et 832 indique un registre d'entrée (30001 30032). Si la valeur est en dehors de cette plage, l'opération n'est pas exécutée et le rail ERREUR est enclenché. Sortie haute 0x Aucun Transmet le courant lorsque l'entrée haute est alimentée Sortie basse 0x Aucun Valeur du pointeur hors limites 1095 TTR : table vers registre 1096 31007524 8/2010 T --> R : table vers registre 31007524 8/2010 T --> R : table vers registre 174 Introduction Ce chapitre décrit l'instruction T→R. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Description sommaire 1098 Représentation 1099 Description des paramètres 1101 1097 T --> R : table vers registre Description sommaire Description de la fonction L'instruction T→R copie la configuration binaire d'un registre ou de 16 valeurs TOR successives d'une table vers un registre de sortie donné. Elle peut gérer le transfert d'un registre par cycle. Elle dispose de trois entrées de commande et génère deux sorties possibles. 1098 31007524 8/2010 T --> R : table vers registre Représentation Symbole Représentation de l'instruction 31007524 8/2010 1099 T --> R : table vers registre Description des paramètres Description des paramètres de l'instruction 1100 Paramètres Référence de Type de mémoire données d'état Signification Entrée haute 0x, 1x Aucun Activée = Copie les données source et incrémente la valeur du pointeur Entrée médiane 0x, 1x (voir page 1101) Aucun Activée = Fige la valeur du pointeur Entrée basse 0x, 1x (voir page 1101) Aucun Activée = Remet à zéro la valeur du pointeur table source (partie haute) INT, UINT, Premier registre ou référence TOR de la WORD table source. Un registre ou une chaîne de valeurs TOR successives de cette table sera copié en un cycle. 0x, 1x, 3x, 4x 4x pointeur (voir page 1101) (partie médiane) INT, UINT Pointeur vers la cible dans laquelle les données source seront copiées longueur de la table (partie basse) INT, UINT Longueur de la table source : nombre de registres à copier, compris entre 1 et 999 Longueur : Max. 255 - automate 16 bits Max. 999 - automate 24 bits Sortie haute 0x Aucun Donne une image de l'entrée haute Sortie médiane 0x Aucun Activée = Valeur du pointeur = longueur de la table (l'instruction ne peut pas incrémenter au-delà) 31007524 8/2010 T --> R : table vers registre Description des paramètres Entrée médiane Lorsque l'entrée médiane est à l'état actif, la valeur actuelle mémorisée dans le registre du pointeur est figée tandis que l'opération DX continue. Par conséquent, les mêmes données de table seront écrites dans le registre cible à chaque cycle. Entrée basse Lorsque l'entrée basse est à l'état actif, la valeur du pointeur est remise à zéro. L'opération de transfert DX suivante copie alors donc le premier registre cible dans la table. Pointeur (partie médiane) Le registre 4x mémorisé en partie médiane est un pointeur vers la cible dans laquelle les données source seront copiées. Le registre cible est le registre 4x successif suivant immédiatement le pointeur. Si par exemple la partie médiane affiche un pointeur de 400100, le registre cible pour la copie T→R est alors 400101. La valeur mémorisée dans le registre du pointeur indique le registre de la table source qui sera copié dans le registre cible lors du cycle actuel. La valeur 0 du pointeur indique que la configuration binaire du premier registre de la table source sera copiée vers la cible ; la valeur 1 du registre du pointeur indique que la configuration binaire du deuxième registre de la table source sera copiée dans le registre cible, etc. 31007524 8/2010 1101 T --> R : table vers registre 1102 31007524 8/2010 T --> T : table vers table 31007524 8/2010 T --> T : table vers table 175 Introduction Ce chapitre décrit l'instruction T→ T. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Description sommaire 1104 Représentation 1105 Description des paramètres 1107 1103 T --> T : table vers table Description sommaire Description de la fonction L'instruction T→T copie la configuration binaire d'un registre ou de 16 données TOR depuis une position dans une table vers une position équivalente dans une autre table de registres. Elle peut gérer le transfert d'un registre par cycle. Elle dispose de trois entrées de commande et génère deux sorties possibles. 1104 31007524 8/2010 T --> T : table vers table Représentation Symbole Représentation de l'instruction *Disponible sur : z les automates E685/785 z les automates L785 z les automates de la série Quantum 31007524 8/2010 1105 T --> T : table vers table Description des paramètres Description des paramètres de l'instruction 1106 Paramètres Référence de mémoire d'état Type de données Signification Entrée haute 0x, 1x Aucun Activée = Copie les données source et incrémente la valeur du pointeur Entrée médiane 0x, 1x (voir page 1107) Aucun Activée = Fige la valeur du pointeur Entrée basse 0x, 1x (voir page 1107) Aucun Activée = Remet à zéro la valeur du pointeur table source (partie haute) INT, UINT, Premier registre ou référence TOR de la WORD table source. Un registre ou une chaîne de valeurs TOR successives de cette table sera copié en un cycle. 0x, 1x, 3x, 4x 4x pointeur (voir page 1107) (partie médiane) INT, UINT Pointeur vers les tables source et cible longueur de la table (partie basse) INT, UINT Longueur des tables source et cible (la longueur doit être identique) Plage : Max. 255 - automate 16 bits Max. 999 - automate 24 bits Max. 65535 - 785L Sortie haute 0x Aucun Donne une image de l'entrée haute Sortie médiane 0x Aucun Activée = Valeur du pointeur = longueur de la table (l'instruction ne peut pas incrémenter au-delà) 31007524 8/2010 T --> T : table vers table Description des paramètres Entrée médiane Lorsque l'entrée dans la partie médiane est à l'état actif, la valeur actuelle mémorisée dans le registre du pointeur est figée tandis que l'opération DX se poursuit. De nouvelles données sont alors copiées vers la cible, qui écraseront les données copiées au cycle précédent. Entrée basse Lorsque l'entrée dans la partie basse est à l'état actif, la valeur du registre du pointeur est remise à zéro. Ceci provoque la copie par l'opération de transfert DX suivante des données source dans le premier registre de la table cible. Pointeur (partie médiane) Le registre 4x mémorisé en partie médiane est un pointeur vers les tables source et cible, indiquant d'où à où les données seront copiées pendant le cycle en cours. Le premier registre de la table cible est le registre 4x successif suivant immédiatement le pointeur. Si, par exemple, la partie médiane affiche une référence de pointeur de 400100, le premier registre de la table cible est 400101. La valeur mémorisée dans le registre du pointeur indique le registre de la table source qui sera copié dans la table cible. Comme la longueur des deux tables est égale et que la copie T→T s'effectue vers le registre équivalent de la table cible, la valeur actuelle du registre du pointeur indique vers quel registre de la table cible les données source seront copiées. La valeur 0 du registre du pointeur indique que la configuration binaire du premier registre de la table source sera copiée vers le premier registre de la table cible ; la valeur 1 du registre du pointeur indique que la configuration binaire du deuxième registre de la table source sera copiée vers le deuxième registre de la table cible, etc. 31007524 8/2010 1107 T --> T : table vers table 1108 31007524 8/2010 Temporisation T.01 : temporisation au centième de seconde 31007524 8/2010 Temporisation T.01 : temporisation au centième de seconde 176 Introduction Ce chapitre décrit l'instruction de temporisation T.01. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Description sommaire 1110 Représentation 1111 1109 Temporisation T.01 : temporisation au centième de seconde Description sommaire Description de la fonction L'instruction T.01 mesure le temps par intervalles d'un centième de seconde. Elle peut être utilisée pour la temporisation d'un événement ou la création d'un retard. T.01 dispose de deux entrées de commande et peut générer l'une de deux sorties possibles. 1110 31007524 8/2010 Temporisation T.01 : temporisation au centième de seconde Représentation Symbole Représentation de l'instruction Description des paramètres Description des paramètres de l'instruction 31007524 8/2010 Paramètres Référence Type de de mémoire données d'état Signification Entrée haute 0x, 1x Aucun Désactivée→ Activée = Déclenche l'opération de temporisation : le temps est incrémenté par centièmes de seconde lorsque les entrées haute et basse sont activées Entrée basse 0x, 1x Aucun Désactivée = Temps cumulé remis à 0 Activée = Incrémentation de la temporisation préréglage temporisateur (partie haute) 3x, 4x INT, UINT Valeur préréglée (nombre d'incréments d'un centième de seconde), peut être affichée explicitement sous forme d'entier ou mémorisée dans un registre Plage : Max. 255 - automate 16 bits Max. 999 - automate 24 bits Max. 65535 - 785L temps cumulé (partie basse) 4x INT, UINT Temps cumulé en incréments d'un centième de seconde Sortie haute 0x Aucun Activée = Temps cumulé = préréglage de la temporisation Sortie basse 0x Aucun Activée = Temps cumulé < préréglage de la temporisation 1111 Temporisation T.01 : temporisation au centième de seconde 1112 31007524 8/2010 Temporisation T0.1 : temporisation au dixième de seconde 31007524 8/2010 Temporisation T0.1 : temporisation au dixième de seconde 177 Introduction Ce chapitre décrit l'instruction de temporisation T0.1. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Description sommaire 1114 Représentation 1115 1113 Temporisation T0.1 : temporisation au dixième de seconde Description sommaire Description de la fonction L'instruction T0.1 mesure le temps par intervalles d'un dixième de seconde. Elle peut être utilisée pour la temporisation d'un événement ou la création d'un retard. T0.1 dispose de deux entrées de commande et peut générer une sortie parmi deux possibles. NOTE : Si vous mettez en cascade des temporisations T0.1 avec des valeurs préréglées de 1, les temporisations se termineront toutes ensemble ; pour éviter ce problème, mettez les valeurs préréglées à 10 et remplacez par une temporisation T.01 (voir page 1109). 1114 31007524 8/2010 Temporisation T0.1 : temporisation au dixième de seconde Représentation Symbole Représentation de l'instruction Description des paramètres Description des paramètres de l'instruction 31007524 8/2010 Paramètres Référence de mémoire d'état Type de données Signification Entrée haute 0x, 1x Aucun Désactivée→ Activée = Déclenche l'opération de temporisation : le temps est incrémenté par dixièmes de seconde lorsque les entrées haute et basse sont activées Entrée basse 0x, 1x Aucun Désactivée = Temps cumulé remis à 0 Activée = Incrémentation de la temporisation préréglage temporisateur (partie haute) 3x, 4x INT, UINT Valeur préréglée (nombre d'incréments d'un dixième de seconde), peut être affichée explicitement sous forme d'entier ou mémorisée dans un registre Plage : Max. 255 - automate 16 bits Max. 999 - automate 24 bits Max. 65535 - 785L temps cumulé (partie basse) 4x INT, UINT Temps cumulé en incréments d'un dixième de seconde Sortie haute 0x Aucun Activée = Temps cumulé = préréglage de la temporisation Sortie basse 0x Aucun Activée = Temps cumulé < préréglage de la temporisation 1115 Temporisation T0.1 : temporisation au dixième de seconde 1116 31007524 8/2010 Temporisation T1.0 : temporisation à la seconde 31007524 8/2010 Temporisation T1.0 : temporisation à la seconde 178 Introduction Ce chapitre décrit l'instruction de temporisation T1.0. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Description sommaire 1118 Représentation 1119 1117 Temporisation T1.0 : temporisation à la seconde Description sommaire Description de la fonction L'instruction Temporisation T1.0 mesure le temps par incréments d'une seconde. Elle peut être utilisée pour la temporisation d'un événement ou la création d'un retard. T1.0 dispose de deux entrées de commande et peut générer l'une de deux sorties possibles. NOTE : Si vous mettez en cascade des temporisations T1.0 avec des valeurs préréglées de 1, les temporisations se termineront toutes ensemble ; pour éviter ce problème, mettez les valeurs préréglées à 10 et remplacez par une temporisation T0.1 (voir page 1113). 1118 31007524 8/2010 Temporisation T1.0 : temporisation à la seconde Représentation Symbole Représentation de l'instruction Description des paramètres Description des paramètres de l'instruction 31007524 8/2010 Paramètres Référence Type de de mémoire données d'état Signification Entrée haute 0x, 1x Aucun Désactivée→ Activée = Déclenche l'opération de temporisation : le temps est incrémenté en secondes lorsque les entrées haute et basse sont activées Entrée basse 0x, 1x Aucun Désactivée = Temps cumulé remis à 0 Activée = Incrémentation de la temporisation préréglage temporisation (partie haute) 3x, 4x INT, UINT Valeur préréglée (nombre d'incréments d'une seconde), peut être affichée explicitement sous forme d'entier ou mémorisée dans un registre Plage : Max. 255 - automate 16 bits Max. 999 - automate 24 bits Max. 65535 - 785L temps cumulé (partie basse) 4x INT, UINT Temps cumulé en incréments d'une seconde Sortie haute 0x Aucun Activée = Temps cumulé = préréglage de la temporisation Sortie basse 0x Aucun Activée = Temps cumulé < préréglage de la temporisation 1119 Temporisation T1.0 : temporisation à la seconde 1120 31007524 8/2010 Temporisation T1MS : temporisation à la milliseconde 31007524 8/2010 Temporisation T1MS : temporisation à la milliseconde 179 Introduction Ce chapitre décrit l'instruction de temporisation T1MS. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Description sommaire 1122 Représentation 1123 Exemple 1124 1121 Temporisation T1MS : temporisation à la milliseconde Description sommaire Description de la fonction L'instruction de temporisation T1MS mesure le temps par incréments d'une milliseconde. Elle peut être utilisée pour la temporisation d'un événement ou la création d'un retard. NOTE : L'instruction T1MS est disponible uniquement sur le B984-102, sur le Micro 311, 411, 512 et 612, ainsi que sur le Quantum 424 02. 1122 31007524 8/2010 Temporisation T1MS : temporisation à la milliseconde Représentation Symbole Représentation de l'instruction Description des paramètres Description des paramètres de l'instruction Paramètres Entrée haute Référence de mémoire d'état 0x, 1x Entrée médiane 0x, 1x 31007524 8/2010 Type de Signification données Aucun Aucun préréglage temporisateur (partie haute) 3x, 4x INT, UINT temps cumulé (partie médiane) #1 (partie basse) Sortie haute 4x INT, UINT 0x INT, UINT Aucun Sortie médiane 0x Aucun Activée = Lance la commande de temporisation : le temps s'incrémente en millisecondes lorsque les entrées haute et médiane sont activées Désactivée = Temps cumulé remis à 0 Activée = Incrémentation de la temporisation La valeur préréglée (nombre d'incréments en millisecondes que la temporisation peut cumuler), peut être affichée explicitement comme un entier (compris entre 1 et 999) ou mémorisée dans un registre Temps cumulé par incréments d'une milliseconde Valeur constante de 1 Activée = Temps cumulé = préréglage de la temporisation Activée = Temps cumulé < préréglage de la temporisation 1123 Temporisation T1MS : temporisation à la milliseconde Exemple Exemple de temporisation à la milliseconde Voici, sous la forme d'un schéma à contacts, une horloge en temps réel avec une précision à la milliseconde : L'instruction T1MS est programmée pour transmettre du courant toutes les 100 ms ; elle est suivie de cinq compteurs (voir page 1137) en cascade qui stockent le temps respectivement en centièmes de seconde, dixièmes de seconde, secondes, minutes et heures. Au début du traitement de la logique, la valeur du temps cumulée commence à incrémenter dans le registre 40055 du bloc T1MS. Au bout de 100 incréments d'une milliseconde, la sortie haute transmet le courant et active la bobine 00001. A ce moment–là, la valeur du registre 40055 du temporisateur est remise à 0. La valeur des comptages cumulés dans le registre 40054 du premier bloc UCTR incrémente de 1 en 1, indiquant que 100 ms se sont écoulées. Comme le compte du temps cumulé dans le bloc T1MS n'est plus égal à la temporisation prédéfinie, la temporisation commence à réincrémenter le temps en millisecondes. Lorsque le compte cumulé du registre 40054 de la première instruction UCTR passe à 10, la sortie haute de ce bloc d'instruction transmet le courant et active la bobine 00002. La valeur du registre 40054 est alors réinitialisée, et le compte cumulé du registre 40053 du second bloc UCTR incrémente de 1 unité. 1124 31007524 8/2010 Temporisation T1MS : temporisation à la milliseconde Comme le temps est cumulé dans chaque compteur, l'heure du jour peut être lue dans cinq registres de sortie comme suit : Registre 31007524 8/2010 Unité de temps Plage valide 40055 Millièmes de seconde 0 à 100 40054 Dixièmes de seconde 0 à 10 40053 Secondes 0 à 60 40052 Minutes 0 à 60 40051 Heures 0 à 24 1125 Temporisation T1MS : temporisation à la milliseconde 1126 31007524 8/2010 TBLK : table vers bloc 31007524 8/2010 TBLK : table vers bloc 180 Introduction Ce chapitre décrit l'instruction TBLK. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Description sommaire 1128 Représentation 1129 Description des paramètres 1131 1127 TBLK : table vers bloc Description sommaire Description de la fonction L'instruction TBLK (table-vers-bloc) combine en une même instruction les fonctions T→R (voir page 1097) et BLKM (voir page 105). En un seul cycle, elle peut copier jusqu'à 100 registres 4x successifs d'une table vers un bloc cible. Le bloc cible a une longueur fixe. Le bloc de registres copiés depuis la table source a la même longueur, mais la longueur totale de la table source n'est limitée que par le nombre de registres de votre configuration système. 1128 31007524 8/2010 TBLK : table vers bloc Représentation Symbole Représentation de l'instruction 31007524 8/2010 1129 TBLK : table vers bloc Description des paramètres Description des paramètres de l'instruction 1130 Paramètres Référence Type de Signification de mémoire données d'état Entrée haute 0x, 1x Aucun Activée = Déclenche l'opération de copie Entrée médiane 0x, 1x (voir page 1131) Aucun Activée = Fige le pointeur Les entrées des parties médiane et basse peuvent être utilisées pour contrôler la valeur dans le pointeur afin que la taille de la table source puisse être contrôlée. Important : Vous devez utiliser une logique externe en combinaison avec l'entrée médiane ou l'entrée basse pour limiter la valeur du pointeur cible dans une plage sûre. Lorsque l'entrée de la partie médiane est à l'état actif, la valeur du registre du pointeur est figée tandis que l'opération TBLK se poursuit. Le même bloc de données source est alors copié vers la table cible à chaque cycle. Entrée basse 0x, 1x (voir page 1131) Aucun Activée = Remet à zéro le pointeur 4x table source (voir page 1131) (partie haute) INT, UINT, WORD Premier registre de sortie de la table source Le registre 4xxxx mémorisé en partie haute est le premier registre de sortie de la table source. Remarque : La table source est segmentée en une série de blocs de registres, dont chacun a la même longueur que le bloc cible. De ce fait, la taille de la table source est un multiple de la longueur du bloc cible, mais elle n'est pas spécifiquement définie dans l'instruction. Si elle n'est pas contrôlée, la table source risque d'occuper tous les registres 4xxxx disponibles dans la configuration de l'automate. 4x pointeur (voir page 1131) (partie médiane) INT, UINT Pointeur vers le bloc source, bloc cible longueur du bloc (partie basse) INT, UINT Nombre de registres du bloc cible et nombre de blocs de la table source, compris entre 1 et 100 Sortie haute 0x Aucun Activée = Copie réussie Sortie médiane 0x Aucun Activée = Erreur/copie impossible 31007524 8/2010 TBLK : table vers bloc Description des paramètres Entrée médiane Lorsque l'entrée médiane est à l'état actif, la valeur du registre du pointeur est figée tandis que l'opération TBLK se poursuit. Le même bloc de données source est alors copié vers la table cible à chaque cycle. Entrée basse ATTENTION Limiter la valeur du pointeur cible à une plage sûre. Vous devez utiliser une logique externe en combinaison avec les entrées médiane et basse pour limiter la valeur du pointeur cible à une plage sûre. Le non-respect de ces instructions peut provoquer des blessures ou des dommages matériels. Lorsque l'entrée basse est à l'état actif, la valeur du pointeur est remise à zéro. L'opération TBLK copie alors les données du premier bloc de registres vers la table source. Table source (partie haute) Le registre 4x mémorisé en partie haute est le premier registre de sortie de la table source. NOTE : La table source est segmentée en une série de blocs de registres, dont chacun a la même longueur que le bloc cible. De ce fait, la taille de la table source est un multiple de la longueur du bloc cible, mais elle n'est pas spécifiquement définie dans l'instruction. Si elle n'est pas contrôlée, la table source risque d'occuper tous les registres 4x disponibles dans la configuration de l'automate. Pointeur (partie médiane) Le registre 4x mémorisé en partie médiane est le pointeur vers le bloc source. Le premier registre du bloc cible est le registre successif suivant immédiatement le pointeur. Si, par exemple, le pointeur est le registre 400107, le premier registre du bloc cible est 400108. La valeur mémorisée dans le pointeur indique le bloc de données de la table source qui sera copié vers le bloc cible. Cette valeur indique un numéro de bloc dans la table source. 31007524 8/2010 1131 TBLK : table vers bloc 1132 31007524 8/2010 TEST : comparaison de deux valeurs 31007524 8/2010 TEST : comparaison de deux valeurs 181 Introduction Ce chapitre décrit l'instruction TEST. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Description sommaire 1134 Représentation 1135 1133 TEST : comparaison de deux valeurs Description sommaire Description de la fonction L'instruction TEST effectue la comparaison signée ou non signée des valeurs 16 bits des parties haute et médiane, et indique la relation entre elles via les sorties du bloc. 1134 31007524 8/2010 TEST : comparaison de deux valeurs Représentation Symbole Représentation de l'instruction Description des paramètres Description des paramètres de l'instruction Paramètres Référence de mémoire d'état Type de données Signification Entrée haute 0x, 1x Aucun Activée = Compare les valeurs 1 et 2 Entrée basse 0x, 1x Aucun Activée = Opération signée Désactivée = Opération non signée valeur 1 (partie haute) 3x, 4x INT, UINT Valeur 1, peut être affichée explicitement sous forme d'entier (de 1 à 65 535) ou mémorisée dans un registre valeur 2 (partie médiane) 3x, 4x INT, UINT Valeur 2, peut être affichée explicitement sous forme d'entier (de 1 à 65 535) ou mémorisée dans un registre 1 (partie basse) 31007524 8/2010 INT, UINT Valeur constante, ne peut pas être changée Sortie haute 0x Aucun Activée = Valeur 1 > valeur 2 Sortie médiane 0x Aucun Activée = Valeur 1 = valeur 2 Sortie basse 0x Aucun Activée = Valeur 1 < valeur 2 1135 TEST : comparaison de deux valeurs 1136 31007524 8/2010 UCTR : compteur 31007524 8/2010 UCTR : compteur 182 Introduction Ce chapitre décrit l'instruction UCTR. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Description sommaire 1138 Représentation 1139 1137 UCTR : compteur Description sommaire Description de la fonction L'instruction UCTR compte les transitions entre l'état repos et l'état actif de l'entrée de commande, depuis zéro jusqu'à une valeur de compteur préréglée. 1138 31007524 8/2010 UCTR : compteur Représentation Symbole Représentation de l'instruction *Disponible sur : z les automates E685/785 z les automates L785 z les automates de la série Quantum Description des paramètres Description des paramètres de l'instruction 31007524 8/2010 Paramètres Référence Type de Signification de mémoire données d'état Entrée haute 0x, 1x Aucun Désactivée → Activée = Déclenche l'opération de comptage Entrée basse 0x, 1x Aucun Désactivée = Remet à 0 l'accumulateur Activée = Compteur actif 3x, 4x préréglage compteur (partie haute) INT, UINT Valeur préréglée, peut être affichée explicitement sous forme d'entier ou mémorisée dans un registre Valeur préréglée : Max. 255 - automate 16 bits Max. 999 - automate 24 bits Max. 65535 - 785L total cumulé 4x (partie basse) INT, UINT Valeur de comptage (valeur réelle), qui est incrémentée de 1 à chaque transition de l'état repos vers l'état actif de l'entrée haute jusqu'à ce qu'elle atteigne la valeur définie de préréglage du compteur. Sortie haute 0x Aucun Activée = Total cumulé = préréglage compteur Sortie basse 0x Aucun Activée = Total cumulé < préréglage compteur 1139 UCTR : compteur 1140 31007524 8/2010 VMER : lecture de VME 31007524 8/2010 VMER : lecture de VME 183 Introduction Ce chapitre décrit l'instruction VMER. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Description sommaire 1142 Représentation 1143 Description des paramètres 1145 1141 VMER : lecture de VME Description sommaire Description de la fonction Le bloc Lecture de VME permet à l'utilisateur de lire des données à partir d'équipements situés sur le bus VME. Si la permutation des octets est active, l'octet de poids fort est échangé avec l'octet de poids faible d'un mot une fois que ce mot a été lu à partir du bus VME. Si la permutation des mots est active, le mot supérieur est échangé avec le mot inférieur d'un mot double une fois qu'il a été lu. Une erreur se produit si les deux entrées sont activées simultanément. NOTE : Disponible uniquement sur l'automate Quantum VME-424/X. 1142 31007524 8/2010 VMER : lecture de VME Représentation Symbole Représentation de l'instruction 31007524 8/2010 1143 VMER : lecture de VME Description des paramètres Description des paramètres de l'instruction 1144 Paramètres Référence de mémoire d'état Type de données Signification Entrée haute 0x, 1x Aucun L'état actif déclenche la lecture Entrée médiane 0x, 1x Aucun Activée = permutation des octets Entrée basse 0x, 1x Aucun Activée = permutation des mots Registre (partie haute) 4x INT, UINT, WORD La partie haute compte cinq registres de contrôle. Ils sont affectés comme suit : 4x : Code du modificateur d'adresses VME (39, 3A, 3D, 3E, 29 ou 2D) 4x+1 à 4x+4 : Bloc de contrôle VME (Pour plus d'informations, reportez-vous à la table nommée Bloc de contrôle VME, page 1145.) pointeur 4x (partie médiane) INT, UINT WORD Pointeur désignant le premier registre cible. (Pour plus d'informations, reportez-vous à la table nommée Etat des codes d'erreur, page 1145.) valeur (partie basse) INT, UINT WORD Constante indiquant le nombre de registres cibles vers lesquels les données sont transférées. Cette constante peut varier entre 1 et 255. Sortie haute 0x Aucun Activée lorsque l'entrée haute est alimentée Sortie médiane 0x Aucun Activée lorsqu'une erreur se produit Sortie basse 0x Aucun Activée lorsque la lecture est terminée 31007524 8/2010 VMER : lecture de VME Description des paramètres Bloc de contrôle VME Il s'agit du bloc de contrôle VME. Registre Description Affiché Code du modificateur d'adresses VME Premier implicite Etat des codes d'erreur Reportez-vous à la table Etat des codes d'erreur. Deuxième implicite Longueur des données devant être lues/écrites Troisième implicite Adresse de l'équipement VME (octet de poids faible) Quatrième implicite Adresse de l'équipement VME (octet de poids fort) Etat des codes d'erreur Il s'agit de la table Etat des codes d'erreur. 31007524 8/2010 Erreur Description 01 Décompte incorrect des mots. Le nombre de mots doit être pair. 02 Longueur incorrecte, supérieure à 255 03 Longueur incorrecte des données. La longueur était nulle ou supérieure à 255 04 Modificateur d'adresses incorrect dans le premier bloc de contrôle 05 Commande incorrecte en partie haute du bloc SWAP 06 Interface de bus VME incorrecte 07 L'adresse du bus VME n'existe pas 08 Dépassement de délai du 486 VME 09 L'interface du bus VME n'a pas été configurée 10 Les entrées de permutation d'OCTETS et de MOTS ont été sélectionnées 11 Correspondance avec le type déterminé par le code AM (A16 ou A2) 1145 VMER : lecture de VME 1146 31007524 8/2010 VMEW : écriture VME 31007524 8/2010 VMEW : écriture VME 184 Introduction Ce chapitre décrit l'instruction VMEW. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Description sommaire 1148 Représentation 1149 Description des paramètres 1151 1147 VMEW : écriture VME Description sommaire Description de la fonction Le bloc Ecriture de VME permet à l'utilisateur d'écrire des données sur des équipements situés sur le bus VME. Si la permutation des octets est active, l'octet de poids fort est échangé avec l'octet de poids faible d'un mot avant que ce mot soit écrit dans le bus VME. Si la permutation des mots est active, le mot supérieur est échangé avec le mot inférieur d'un mot double avant qu'il soit écrit. Une erreur se produit si les deux entrées sont activées simultanément. NOTE : Disponible uniquement sur l'automate Quantum VME-424/X. 1148 31007524 8/2010 VMEW : écriture VME Représentation Symbole Représentation de l'instruction 31007524 8/2010 1149 VMEW : écriture VME Description des paramètres Description des paramètres de l'instruction 1150 Paramètres Référence de mémoire d'état Type de données Signification Entrée haute 0x, 1x Aucun L'état actif déclenche la lecture Entrée médiane 0x, 1x Aucun Activée = Permutation des octets Entrée basse 0x, 1x Aucun Activée = Permutation des mots registre (partie haute) 4x INT, UINT WORD La partie haute compte cinq registres de contrôle. Ils sont affectés comme suit : 4x - Octet de poids fort : Code du modificateur d'adresses VME (39, 3A, 3D, 3E, 29 ou 2D) 4x - Octet de poids faible : Taille des bus de données 4x + 1 à 4x + 4 : Bloc de contrôle VME (Pour plus d'informations, reportez-vous à la table nommée Bloc de contrôle VME, page 1151.) pointeur 3x, 4x (partie médiane) INT, UINT WORD Pointeur désignant le premier registre cible. (Pour plus d'informations, reportez-vous à la table nommée Etat des codes d'erreur, page 1151.) valeur (partie basse) INT, UINT WORD Constante indiquant le nombre de registres cible vers lesquels les données sont transférées. Cette constante peut varier entre 1 et 255. Sortie haute 0x Aucun Activée lorsque l'entrée haute est alimentée Transmet le courant lorsque l'entrée haute est alimentée Sortie médiane 0x Aucun Activée lorsqu'une erreur se produit Sortie basse 0x Aucun Activée lorsque l'écriture est terminée 31007524 8/2010 VMEW : écriture VME Description des paramètres Bloc de contrôle VME Il s'agit du bloc de contrôle VME. Registre Description Affiché Code du modificateur d'adresses VME Premier implicite Etat des codes d'erreur Reportez-vous à la table Etat des codes d'erreur. Deuxième implicite Longueur des données devant être lues/écrites Troisième implicite Adresse de l'équipement VME (octet de poids faible) Quatrième implicite Adresse de l'équipement VME (octet de poids fort) Etat des codes d'erreur Il s'agit de la table Etat des codes d'erreur. 31007524 8/2010 Erreur Description 01 Décompte de mots incorrect. Le nombre de mots doit être pair. 02 Longueur incorrecte, supérieure à 255 03 Longueur des données incorrecte. La longueur était nulle ou supérieure à 255 04 Modificateur d'adresses incorrect dans le premier bloc de contrôle 05 Commande incorrecte en partie haute du bloc SWAP 06 Interface de bus VME incorrecte 07 L'adresse du bus VME n'existe pas 08 Dépassement de délai du 486 VME 09 L'interface du bus VME n'a pas été configurée 10 Les entrées de permutation d'OCTETS et de MOTS ont été sélectionnées 11 Correspondance avec le type déterminé par le code AM (A16 ou A2) 1151 VMEW : écriture VME 1152 31007524 8/2010 WRIT : écriture 31007524 8/2010 WRIT : écriture 185 Introduction Ce chapitre décrit l'instruction WRIT. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Description sommaire 1154 Représentation 1155 Description des paramètres 1157 1153 WRIT : écriture Description sommaire Description de la fonction L'instruction WRIT envoie un message depuis l'automate à un afficheur ASCII (écran, imprimante etc.) en passant par le lien de communication RIO. Pendant l'envoi du message, WRIT effectue les fonctions suivantes : vérifie si les paramètres de communication ASCII sont corrects, par exemple le numéro de port et le numéro de message z vérifie la longueur des champs de données variables z détecte les erreurs et les enregistre z signale l'état de l'interface RIO z WRIT nécessite deux tables de registres : une table source dans laquelle les données variables (le message) sont copiées et un bloc de contrôle dans lequel les paramètres du port de communication et les paramètres des messages sont identifiés. Vous trouverez de plus amples informations sur la mise en forme de messages à la section Mise en forme de messages pour les opérations ASCII READ/WRIT, page 61. 1154 31007524 8/2010 WRIT : écriture Représentation Symbole Représentation de l'instruction 31007524 8/2010 1155 WRIT : écriture Description des paramètres Description des paramètres de l'instruction Paramètres Référence de Type de mémoire données d'état Entrée haute 0x, 1x Aucun Activée = Lance l'opération WRIT Entrée médiane 0x, 1x Aucun Activée = Suspend l'opération WRIT Activée = Abandonne l'opération WRIT Entrée basse 0x, 1x Aucun source (voir page 1157) (partie haute) 3x, 4x INT, UINT, Table source WORD bloc de contrôle (voir page 1157) (partie médiane) 4x INT, UINT, Bloc de contrôle ASCII (le premier de sept WORD registres de sortie successifs) Pour plus d'informations, reportez-vous à la section Bloc de contrôle (partie médiane), page 1157. longueur de la table (partie basse) 1156 Signification INT, UINT Longueur de la table source (nombre de registres dans lesquels les données du message seront mémorisées), comprise entre 1 et 255 Sortie haute 0x Aucun Donne une image de l'entrée haute Sortie médiane 0x Aucun Activée = Erreur de communication ou l'opération a dépassé les limites de temps (pour un cycle) Sortie basse 0x Aucun Activée = Opération WRIT terminée (pour un cycle) 31007524 8/2010 WRIT : écriture Description des paramètres Table source (partie haute) La partie haute contient le premier registre 3x ou 4x d'une table source dont la longueur est déterminée en partie basse. Cette table contient les données nécessaires pour remplir le champ des données variables d'un message. Considérons le message WRIT suivant Le champ ASCII sur 3 caractères III est le champ de données variables ; les données variables sont chargées, généralement à l'aide de copies DX, vers une table de données de champ de variable. Bloc de contrôle (partie médiane) Le registre 4x mémorisé en partie médiane est le premier des sept registres de sortie successifs du bloc de contrôle. 31007524 8/2010 Registre Définition Affiché Numéro de port et code d'erreur, page 1158 Premier implicite Numéro de message Deuxième implicite Nombre de registres nécessaires pour respecter le format Troisième implicite Compte du nombre de registres transmis jusque–là Quatrième implicite Etat du cycle Cinquième implicite Réservé Sixième implicite Total de contrôle des registres 0 à 5 1157 WRIT : écriture Numéro de port et code d'erreur Numéro de port et code d'erreur Bit Fonction 1à4 Code d'erreur API (voir tableau ci-dessous) 5 Inutilisé 6 Entrée de l'équipement ASCII incompatible avec le format 7 Débordement du tampon d'entrée, données reçues trop rapidement sur le RIOP 8 Erreur USART, RIOP a reçu un octet incorrect 9 Format illicite, mauvaise réception RIOP 10 Equipement ASCII hors–ligne, contrôler le câblage 11 Message ASCII terminé trop tôt (en mode clavier) 12 à 16 Numéro du port de communication (1 à 32) Code d'erreur API Bit 1158 Signification 1 2 3 4 0 0 0 1 Erreur sur l'entrée RIOP depuis le périphérique ASCII 0 0 1 0 Réponse d'anomalie depuis RIOP, données incorrectes 0 0 1 1 Nombre séquentiel de RIOP diffère de la valeur attendue 0 1 0 0 Erreur de total de contrôle du registre utilisateur, souvent due à une modification des registres READ lorsque le bloc est actif 0 1 0 1 Détection d'un numéro de port ou de message invalide 0 1 1 0 Abandon par l'utilisateur, partie basse activée 0 1 1 1 Aucune réponse de la station, erreur de communication 1 0 0 0 Partie abandonnée du fait de l'instruction SKP 1 0 0 1 Zone message brouillée, recharger la mémoire 1 0 1 0 Port non configuré dans l'affectation des E/S 1 0 1 1 Demande ASCII illicite 1 1 0 0 Réponse inconnue du port ASCII 1 1 0 1 Elément ASCII illicite détecté dans la logique utilisateur 1 1 1 1 RIOP de l'automate est arrêté 31007524 8/2010 XMIT : émission 31007524 8/2010 XMIT : émission 186 Introduction Ce chapitre décrit l'instruction XMIT : émission. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Description sommaire 1160 Fonctions Modbus du XMIT 1161 1159 XMIT : émission Description sommaire Description de la fonction Le bloc fonction XMIT (Emission) envoie des messages Modbus depuis un automate maître à plusieurs automates esclaves ou des chaînes de caractères ASCII depuis le port 1 ou 2 de l'esclave Modbus de l'automate à des imprimantes et des terminaux ASCII. L'instruction envoie ces messages via des modems téléphoniques à accès commuté, des modems radio ou tout simplement des connexions directes. Pour plus d'informations sur le bloc fonction XMIT, reportez-vous à la section intitulée Fonctions Modbus du XMIT, page 1161. L'instruction XMIT peut fonctionner en trois modes : communication, état du port et conversion. Ces modes sont décrits dans les sections suivantes. z z z Bloc de communication XMIT, page 1167 Bloc d'état du port XMIT, page 1179 Bloc de conversion XMIT, page 1187 En mode de communication, le bloc XMIT exécute les fonctions d'entrée ASCII générales, y compris au format ASCII simple et ASCII terminé. Vous pouvez utiliser un bloc XMIT supplémentaire pour inclure les informations d'état des ports dans des registres, pendant qu'un autre bloc XMIT exécute la fonction de communication ASCII. Vous pouvez importer/exporter des données ASCII ou binaires vers/à partir de votre automate et les convertir en diverses données binaires ou ASCII pour les envoyer à des équipements DCE (Data Communication Equipment, matériel de transmission de données) en fonction des besoins de votre application. Le bloc comprend des fonctions de diagnostic intégrées qui vérifient qu'aucun autre bloc XMIT n'est actif sur l'automate. Dans le bloc XMIT, une table de contrôle permet de contrôler la liaison de communication entre l'automate et les équipements DCE connectés au port 1 ou 2 Modbus de l'automate. Le bloc XMIT n'active pas le voyant du port lors de la transmission des données. NOTE : Le protocole Modbus est un protocole "maître/esclave", conçu pour ne compter qu'un seul maître interrogeant plusieurs esclaves. Par conséquent, si vous utilisez le bloc XMIT au sein d'un réseau comprenant plusieurs maîtres, vous êtes responsable de la résolution des conflits et de l'élimination des collisions. La programmation de schémas à contacts vous aidera à résoudre facilement ces problèmes. 1160 31007524 8/2010 XMIT : émission Fonctions Modbus du XMIT Présentation Le bloc fonction XMIT prend en charge les codes fonction Modbus suivants : z z z z 01 ... 06 08 15 et 16 20 et 21 Pour les messages Modbus, la matrice MSG_OUT doit contenir le tableau de définition Modbus. Le code fonction 01, 02, 03, 04, 05, 06, 15 et 16 du tableau de définition Modbus comporte cinq chiffres. Vous devez définir XMIT_SET.MessageLen sur 5 pour que le XMIT fonctionne correctement. Le tableau de définition Modbus est présenté dans le tableau ci-dessous. Codes fonction Modbus 01...06 Pour les messages Modbus, la matrice MSG_OUT doit contenir le tableau de définition Modbus. Le code fonction 01, 02, 03, 04, 05, 06, 15 et 16 du tableau de définition Modbus comporte cinq chiffres. Vous devez définir XMIT_SET.MessageLen sur 5 pour que le XMIT fonctionne correctement. Le tableau de définition Modbus est présenté dans le tableau ci-dessous. Codes fonction du tableau de définition Modbus (01 ... 06, 15 et 16) 31007524 8/2010 Contenu Description Code fonction Modbus (MSG_OUT[1]) Le XMIT prend en charge les codes fonction suivants : 01 = Lire plusieurs bobines (0x) 02 = Lire plusieurs entrées TOR (1x) 03 = Lire plusieurs registres de maintien (4x) 04 = Lire plusieurs registres d'entrée (3x) 05 =Ecrire une seule bobine (0x) 06 = Ecrire des registres de maintien uniques (4x) 15 = Ecrire plusieurs bobines (0x) 16 = Ecrire plusieurs registres de maintien (4x) Quantité (MSG_OUT[2]) Entrez le volume de données dont vous souhaitez l'écriture sur l'automate esclave et le volume de données dont vous souhaitez la lecture à partir de l'automate esclave. Entrez 100 pour lire 100 registres de maintien à partir de l'automate esclave et entrez 32 pour écrire 32 bobines sur un automate esclave. La quantité autorisée dépend du modèle de l'automate. Pour plus d'informations sur les limitations, reportez-vous à l'annexe A. 1161 XMIT : émission Contenu Description Adresse de l'automate esclave (MSG_OUT[3]) Entrez l'adresse de l'automate Modbus esclave. La plage d'adresses est généralement comprise entre 1 et 247. Pour envoyer un message Modbus à plusieurs automates, indiquez 0 pour l'adresse de l'automate esclave. Il s'agit du mode de diffusion. Le mode de diffusion prend uniquement en charge les codes fonction Modbus qui permettent d'écrire des données sur des automates esclaves depuis l'automate maître. Le mode de diffusion NE prend PAS en charge les codes fonction Modbus qui permettent de lire des données à partir d'automates esclaves. Zone de données de l'automate esclave (MSG_OUT[4]) Pour une commande de lecture, la zone de données de l'automate esclave correspond à la source des données. Pour une commande d'écriture, la zone de données de l'automate esclave correspond à la cible des données. Si par exemple vous souhaitez lire des bobines (00300 ... 00500) à partir d'un automate esclave, entrez 300 dans ce champ. Lorsque vous souhaitez écrire des données dans le registre (40100) d'un automate esclave à partir d'un automate maître, entrez 100 dans ce champ. En fonction du type de la commande Modbus (écriture ou lecture), les zones de données source et cible doivent être définies comme indiqué dans le tableau Zones de données source et cible ci-dessous. Zone de données de l'automate maître (MSG_OUT[5]) Pour une commande de lecture, la zone de données de l'automate maître est la zone cible des données renvoyées par l'esclave. Pour une commande d'écriture, la zone de données de l'automate maître correspond à la source des données. Si par exemple vous souhaitez écrire des bobines (00016 ... 00032) situées dans l'automate maître sur un automate esclave, entrez 16 dans ce champ. Si vous souhaitez lire des registres d'entrée (30001 ... 30100) d'un automate esclave et placer les données dans la zone de données de l'automate maître (40100 .... 40199), entrez 100 dans ce champ. Selon le type de commande Modbus (lecture ou écriture), les zones de données source et cible doivent être conformes à celles du tableau ci-dessous. Zones de données source et cible pour les codes de fonction (01 à 06, 15 et 16) 1162 Code fonction Zone de données de l'automate maître Zone de données de l'automate esclave 03 (Lire plusieurs 4x) 4x (cible) 4x (source) 04 (Lire plusieurs 3x) 4x (cible) 3x (source) 01 (Lire plusieurs 0x) 0x (cible) 0x (source) 02 (Lire plusieurs 1x) 0x (cible) 1x (source) 16 (Ecrire plusieurs 4x) 4x (source) 4x (cible) 15 (Ecrire plusieurs 0x) 0x (source) 0x (cible) 05 (Ecrire 0x unique) 0x (source) 0x (cible) 06 (Ecrire 4x unique) 4x (source) 4x (cible) 31007524 8/2010 XMIT : émission Pour envoyer 20 messages Modbus depuis l'automate, vous devez transférer 20 tables de définition Modbus l'une après l'autre dans MSG_OUT après chaque opération réussie de XMIT. Vous pouvez également programmer 20 blocs XMIT différents, puis les activer l'un après l'autre en utilisant la logique utilisateur. Code fonction Modbus (08) Le tableau de définition Modbus pour les codes fonction Modbus 08 comporte cinq chiffres. Vous devez définir XMIT_SET.MessageLen sur 5 pour que XMIT fonctionne correctement. Pour les messages Modbus, la matrice MSG_OUT doit contenir le tableau de définition Modbus. Le tableau de définition Modbus est présenté ci-dessous. Codes fonction du tableau de définition Modbus (08) Contenu Description Code fonction Modbus (MSG_OUT[1]) Le bloc XMIT prend en charge le code fonction 08 = Diagnostics. Diagnostics (MSG_OUT[2]) Entrez la valeur décimale du code de sous-fonction du diagnostic dans ce champ pour exécuter la fonction de diagnostic voulue. Les sous-fonctions de diagnostic suivantes sont prises en charge : Code Description 00 Renvoyer les données de requête 01 Relancer l'option comm. 02 Renvoyer registre de diagnostic 03 Changer le séparateur d'entrée ASCII 04 Forcer le mode écoute seul 05 ... 09 Réservé 10 Réinitialiser les compteurs (et les registres de diagnostic dans 384, 484) 11 Renvoyer le compte de messages bus 12 Renvoyer le compte d'erreurs de comm. bus 13 Renvoyer le compte d'exceptions de bus 14 ... 15 Non pris en charge 16 Donner le compte de NAK esclave 17 Donner le compte d'esclaves occupés 18 Renvoyer le compte de dépassement de car. de bus 19 ... 21 Non pris en charge Adresse de l'automate esclave Entrez l'adresse de l'automate Modbus esclave. La plage (MSG_OUT[3]) d'adresses Modbus est généralement comprise entre 1 et 247. Le code fonction 8 NE PREND PAS en charge le mode diffusion (adresse 0). 31007524 8/2010 1163 XMIT : émission Contenu Description Contenu du champ de données de la fonction de diagnostic (MSG_OUT[4]) Vous devez entrer la valeur décimale nécessaire pour la zone de données de la sous-fonction de diagnostic particulière. Pour les sous-fonctions 02, 04, 10, 11, 12, 13, 16, 17 et 18, cette valeur est automatiquement réglée sur zéro. Pour les sous-fonctions 00, 01 et 03, vous devez entrer la valeur voulue dans le champ de données. Pour plus de détails, reportez-vous au document Modicon Modbus Protocol Reference Guide (PI-MBUS-300). Zone de données de l'automate maître (MSG_OUT[5]) Pour toutes les sous-fonctions, la zone de données de l'automate maître est la destination des données renvoyées par l'esclave. Vous devez indiquer un registre 4x marquant le début de la zone de données dans laquelle les données renvoyées sont placées. Par exemple, pour placer les données dans la zone de données de l'automate maître commençant à (40100), entrez 100 dans ce champ. La sous-fonction 04 NE RENVOIE PAS de réponse. Pour plus de détails, reportez-vous au document Modicon Modbus Protocol Reference Guide (PI-MBUS-300). Codes fonction Modbus (20, 21) Pour les messages Modbus, la matrice MSG_OUT doit contenir le tableau de définition Modbus. Le tableau de définition Modbus pour les codes fonction Modbus 20 et 21 comporte six registres. Vous devez définir XMIT_SET.MessageLen sur 6 pour que le XMIT fonctionne correctement. Le tableau de définition Modbus est présenté ci-dessous. Codes fonction du tableau de définition Modbus (20, 21) Contenu Description Code fonction Modbus (MSG_OUT[1]) Le XMIT prend en charge les codes fonction suivants : 20 = Lire référence générale (6x) 21 = Ecrire référence générale (6x) Quantité (MSG_OUT[2]) Entrez la quantité de données à écrire ou à lire dans l'automate esclave. Entrez 100 pour lire 100 registres de maintien à partir de l'automate esclave et entrez 32 pour écrire 32 bobines sur un automate esclave. Il existe une taille limite, qui dépend du modèle de l'automate. Reportezvous à l'annexe A pour obtenir tous les détails sur les limites. Adresse de l'automate esclave Entrez l'adresse de l'automate Modbus esclave. La plage (MSG_OUT[3]) des adresses Modbus va généralement de 1 à 247. Les codes fonction 20 et 21 ne prennent PAS en charge le mode diffusion (adresse 0). 1164 31007524 8/2010 XMIT : émission Contenu Description Zone de données de l'automate esclave (MSG_OUT[4]) Pour une commande de lecture, la zone de données de l'automate esclave est la source des données. Pour une commande d'écriture, la zone de données de l'automate esclave est la destination des données. Par exemple, lorsque vous souhaitez lire des registres (de 600300 à 600399) depuis un automate esclave, entrez 300 dans ce champ. Lorsque vous souhaitez écrire des données dans le registre (600100) d'un automate esclave à partir d'un automate maître, entrez 100 dans ce champ. Selon le type de commande Modbus (lecture ou écriture), les zones de données source et cible doivent être conformes à celles du tableau ci-dessous. Le plus petit registre étendu correspond au registre "zéro" (600000). Le plus petit registre de maintien correspond au registre "un" (400001). Zone de données de l'automate maître (MSG_OUT[5]) Pour une commande de lecture, la zone de données de l'automate maître est la destination des données renvoyées par l'esclave. Pour une commande d'écriture, la zone de données de l'automate maître est la source des données. Par exemple, lorsque vous souhaitez écrire des registres (de 40016 à 40032), situés dans l'automate maître, vers des registres 6x, situés dans un automate esclave, entrez 16 dans le champ. Lorsque vous souhaitez lire des registres 6x (de 600001 à 600100) depuis un automate esclave, et placer les données dans la zone de données de l'automate maître (de 40100 à 40199), entrez 100 dans ce champ. Selon le type de commande Modbus (lecture ou écriture), les zones de données source et cible doivent être conformes à celles du tableau ci-dessous. Le plus petit registre étendu correspond au registre "zéro" (600000). Le plus petit registre de maintien correspond au registre "un" (400001). Nombre de fichiers (MSG_OUT[6]) Entrez le nombre de fichiers pour les registres 6x à écrire ou à lire. (1 ... 10) selon la taille de la zone de données du registre étendu. 600001 correspond à 60001 fichier 1 et 690001 correspond à 60001 fichier 10, comme considéré par l'éditeur de données de référence. Zones de données source et cible des codes fonction (20, 21) Code fonction Zone de données de l'automate maître Zone de données de l'automate esclave 20 (Lire référence générale 6x) 4x (cible) 6x (source) 21 (Ecrire référence générale 6x) 4x (source) 6x (cible) Pour envoyer 20 messages Modbus depuis l'automate, vous devez transférer 20 tables de définition Modbus l'une après l'autre dans MSG_OUT après chaque opération réussie de XMIT. Vous pouvez également programmer 20 blocs XMIT différents, puis les activer l'un après l'autre en utilisant la logique utilisateur. 31007524 8/2010 1165 XMIT : émission 1166 31007524 8/2010 Bloc de communication XMIT 31007524 8/2010 Bloc de communication XMIT 187 Introduction Ce chapitre décrit l'instruction Bloc de communication XMIT. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet 31007524 8/2010 Page Description sommaire 1168 Représentation 1169 Description des paramètres 1171 Description des paramètres 1176 Description des paramètres 1178 1167 Bloc de communication XMIT Description sommaire Description de la fonction L'objectif du bloc de communication XMIT est de recevoir et de transmettre des messages ASCII et des messages maîtres Modbus via les ports de l'automate. Le bloc d'instructions XMIT ne fonctionnera pas correctement si : Les instructions chargeables NSUP et XMIT ne sont pas installées z L'instruction chargeable NSUP est installée après l'instruction chargeable XMIT z Les instructions chargeables NSUP et XMIT sont installées dans un automate Quantum utilisant un exécutable obsolète (dont la version est antérieure à la version 2.10 ou 2.12) z Pour une présentation de l'instruction XMIT, reportez-vous à la section Description sommaire, page 1160. 1168 31007524 8/2010 Bloc de communication XMIT Représentation Symbole Représentation de l'instruction Description des paramètres Description des paramètres de l'instruction 31007524 8/2010 Paramètres Référence de mémoire d'état Type de Signification données Entrée haute 0x, 1x Aucun L'état actif déclenche une opération XMIT. L'instruction START doit rester active jusqu'à ce que l'opération se soit déroulée avec succès ou qu'une erreur soit survenue. Entrée médiane 0x, 1x Aucun L'état actif abandonne toutes les opérations XMIT actives et place de force le port en mode esclave. Le code d'abandon (121) est placé dans le registre d'état d'erreur. Tant que cette entrée est à l'état actif, le port reste fermé. Remarque : Pour réinitialiser un défaut XMIT et effacer le contenu du registre de défauts, l'entrée haute doit passer à l'état repos pendant au moins un cycle d'automate. 1169 Bloc de communication XMIT 1170 Paramètres Référence de mémoire d'état Type de Signification données port #0001 ou #0002 (partie haute) 4x INT, UINT, WORD La partie haute doit contenir une des constantes suivantes : (#0001) pour sélectionner le port numéro 1 de l'automate, ou (#0002) pour sélectionner le port numéro 2 de l'automate. Remarque : La version chargeable accepte les registres 4xxxx dans la partie haute, tandis que la version intégrée ne les accepte pas. registre 4x (partie médiane) INT, UINT, WORD Le registre 4xxxx mémorisé en partie médiane est le premier d'un groupe de seize (16) registres de sortie successifs comprenant le bloc de contrôle, comme indiqué dans la Table de contrôle des communications. Pour plus d'informations sur cette partie, reportez-vous à la Table de contrôle des communications, page 1171 dans la section Description des paramètres : partie médiane : bloc de communication XMIT. Important : NE PAS modifier l'adresse située dans la partie médiane du bloc XMIT ou la supprimer du bloc tant que le programme est actif. Le port serait alors bloqué et les communications ne pourraient s'effectuer. #0016 (partie basse) INT, UINT, WORD La partie basse doit contenir une constante égale à (#0016). Celle-ci représente le nombre de registres utilisés par l'instruction XMIT. Sortie haute 0x Aucun Etat actif tant qu'une opération XMIT est en cours. Transmet du courant lorsqu'une opération XMIT est en cours. Sortie médiane 0x Aucun Etat actif lorsque XMIT a détecté une erreur ou envoyé une commande d'abandon. Transmet du courant lorsque XMIT a détecté une erreur ou qu'une opération XMIT a été abandonnée. Sortie basse 0x Aucun Etat actif pour un seul cycle lorsqu'une opération XMIT a été exécutée avec succès. Transmet du courant lorsqu'une opération XMIT a été exécutée avec succès. Remarque : L'entrée START doit rester active jusqu'à la désactivation de l'affichage OPERATION REUSSIE. 31007524 8/2010 Bloc de communication XMIT Description des paramètres Table de contrôle des communications Cette table représente le premier d'un groupe de 16 registres de sortie successifs formant le bloc de contrôle. 31007524 8/2010 Registre Nom Description Aucune entrée valide 4xxxx Numéro de révision Affiche le numéro de révision courant du bloc XMIT. Lecture Ce numéro est chargé automatiquement par le bloc seule qui écrase tout autre numéro mémorisé dans ce registre. 4xxxx+1 Etat d'erreur Lecture Ce champ affiche un code d'erreur généré par le seule bloc d'état du port XMIT. Pour plus d'informations, reportez-vous à la Table des états d'erreur, page 1176, dans la section Description des paramètres : bloc de communication XMIT. 4xxxx+2 Disponible pour l'utilisateur Le bloc XMIT n'utilise pas ce registre. Il peut cependant être utilisé comme pointeur dans des schémas à contacts. Pour utiliser efficacement le bloc XMIT, placez la valeur pointeur d'une instruction TBLK dans ce registre. 4xxxx+3 Débit de données Lire/Ecrire Le bloc XMIT prend en charge les vitesses de données suivantes : 50, 75, 110, 134, 150, 300, 600, 1200, 1800, 2000, 2400, 3600, 4800, 7200, 9600 et 19200. Pour configurer une vitesse de données, entrez le nombre décimal correspondant dans ce champ. Lorsqu'une vitesse non valide est saisie, le bloc signale une erreur due à une configuration non valide (code d'erreur 127) dans le registre d'état d'erreur (4xxxx+1). 4xxxx+4 Bits de données Le bloc XMIT prend en charge les bits de données suivants : 7 et 8. Pour configurer une taille de bit de données, entrez le nombre décimal correspondant dans ce registre. Remarque : Les messages Modbus peuvent être envoyés en mode ASCII ou RTU. Le mode ASCII nécessite 7 bits de données, tandis que le mode RTU en nécessite 8. Lorsque vous envoyez un message en caractères ASCII, vous pouvez utiliser 7 ou 8 bits de données. Lorsqu'un bit de données non valide est saisi, le bloc signale une erreur due à une configuration non valide (code d'erreur 127) dans le registre d'état d'erreur (4xxxx+1). Lire/Ecrire Lire/Ecrire 1171 Bloc de communication XMIT 1172 Registre Nom Description Aucune entrée valide 4xxxx+5 Bits de parité Lire/Ecrire Le bloc XMIT prend en charge la parité suivante : aucune, impaire et paire. Entrez l'un des nombres décimaux suivants : 0 = aucune parité, 1 = parité impaire ou 2 = partie paire. Lorsqu'une parité non valide est saisie, le bloc signale une erreur due à une configuration non valide (code d'erreur 127) dans le registre d'état d'erreur (4xxxx+1). 4xxxx+6 Bits d'arrêt Lire/Ecrire Le bloc XMIT prend en charge un ou deux bits d'arrêt. Entrez l'un des nombres décimaux suivants : 1 = un bit d'arrêt ou 2 = deux bits d'arrêt. Lorsqu'un bit d'arrêt non valide est saisi, le bloc signale une erreur due à une configuration non valide (code d'erreur 127) dans le registre d'état d'erreur (4xxxx+1). 4xxxx+7 Disponible pour l'utilisateur Le bloc XMIT n'utilise pas ce registre. Il peut cependant être utilisé comme pointeur dans des schémas à contacts. Pour utiliser efficacement le bloc XMIT, placez la valeur pointeur d'une instruction TBLK dans ce registre. 4xxxx+8 Mot de commande Lire/Ecrire (Nombre binaire à 16 chiffres) Le bloc XMIT interprète chaque bit du mot de commande comme fonction à exécuter. Si les bits 7 et 8 sont actifs simultanément, si plusieurs bits parmi les bits 13, 14, 15 ou 16 sont actifs simultanément ou si le bit 7 n'est pas actif alors que l'un des bits 13, 14, 15 ou 16 l'est, le système génère l'erreur 129. Pour plus d'informations, reportez-vous à la Table de fonctions de communication du mot de commande, page 1178, dans la section Description des paramètres : bloc de communication XMIT. Lire/Ecrire 31007524 8/2010 Bloc de communication XMIT Registre Nom Description Aucune entrée valide 4xxxx+9 Mot pointeur de message Lire/Ecrire (pointeur de message) Les valeurs sont limitées par la plage de registres 4x configurés. La table de messages comprend des éléments des catégories suivantes. z Caractères ASCII Pour les chaînes de caractères ASCII, le pointeur correspond au décalage vers le premier registre de la chaîne de caractères ASCII. Chaque registre peut contenir jusqu'à deux caractères ASCII. Chaque chaîne ASCII peut se composer de 1024 caractères au maximum. Par exemple, lorsque vous souhaitez envoyer dix messages ASCII depuis l'automate, vous devez programmer 10 chaînes de caractères ASCII dans des registres 4xxxx de l'automate puis, avec des schémas à contacts, définir le pointeur sur le début de chaque message après chaque exécution réussie de l'instruction XMIT. z Codes fonction Modbus Pour plus d'informations, reportez-vous à la section Fonctions Modbus du XMIT, page 1161 Saisissez un pointeur qui indique le début de la table de messages. 4xxxx+10 Longueur du message 31007524 8/2010 Lire/Ecrire (0 - 512) Saisissez la longueur du message courant. Lorsque le bloc XMIT envoie des messages Modbus pour les codes de fonction 01, 02, 03, 04, 05, 06, 08, 15 et 16, la longueur du message est automatiquement définie sur cinq. Lorsqu'il reçoit une entrée au format ASCII terminé, la longueur du message doit être définie sur cinq ou une erreur survient. Lorsque le bloc XMIT envoie des messages Modbus pour les codes de fonction 20 et 21, la longueur du message est automatiquement définie sur six. Lorsqu'il envoie des messages ASCII, cette longueur peut être comprise entre 1 et 1024 caractères ASCII par message. 1173 Bloc de communication XMIT Registre Nom Description Aucune entrée valide Lire/Ecrire 4xxxx+11 Dépassemen (0 à 65 535 millisecondes) t du délai de Saisissez une durée en millisecondes (ms) pour réponse (ms) déterminer le temps d'attente, par le bloc XMIT, d'un message de réponse valide provenant d'un appareil esclave (automate, modem, etc.). De plus, la durée s'applique aux transmissions ASCII et aux commandes de contrôle de flux. Lorsque la réponse n'est pas entièrement structurée dans le délai imparti, le bloc XMIT génère une erreur. La durée peut être comprise entre 0 et 65 535 ms. Le dépassement du délai commence après l'envoi du dernier caractère du message. 1174 4xxxx+12 Limite de nouvelles tentatives Lire/Ecrire (0 à 65 535 millisecondes) Saisissez la quantité de nouvelles tentatives d'envoi d'un message effectuées par le bloc XMIT avant réception d'une réponse valide d'un appareil esclave (automate, modem, etc.). Lorsque la réponse n'est pas entièrement structurée dans le délai imparti, le bloc XMIT génère une erreur et un code d'erreur. Les valeurs correctes sont comprises entre 0 et 65 535. Ce champ est utilisé conjointement avec le délai de réponse (4xxxx+11). 4xxxx+13 Retard du début de transmission (ms) Lire/Ecrire (0 à 65 535 millisecondes) Lorsque le contrôle RTS/CTS est activé, saisissez la durée en millisecondes (ms) déterminant le temps d'attente du bloc XMIT entre la réception du message CTS et la transmission d'un message par le port n° 1 de l'automate. De plus, vous pouvez utiliser ce registre même lorsque le contrôle RTC/CTS n'est PAS activé. Dans ce cas, la durée saisie détermine le temps d'attente du bloc XMIT avant l'envoi d'un message à partir du port n° 1 de l'automate. Vous pouvez l'utiliser comme un temporisateur avant message. Les valeurs peuvent être comprises entre 0 et 65 535 ms. 31007524 8/2010 Bloc de communication XMIT Registre 31007524 8/2010 Nom Description Aucune entrée valide 4xxxx+14 Retard de la fin de transmission (ms) Lire/Ecrire (0 à 65 535 millisecondes) Pour déterminer la durée pendant laquelle le bloc XMIT garde un état logique vrai RTS après l'envoi du message à partir du port n° 1 de l'automate, saisissez la valeur du délai en millisecondes (ms) lorsque le contrôle RTS/CTS est activé. A l'expiration de ce délai, le bloc XMIT met fin à l'état logique vrai. Vous pouvez également utiliser ce registre lorsque le contrôle RTS/CTS n'est PAS activé. Dans ce cas, la durée saisie détermine le temps d'attente du bloc XMIT après l'envoi d'un message à partir du port n° 1 de l'automate. Vous pouvez l'utiliser comme un temporisateur après message. Les valeurs peuvent être comprises entre 0 et 65 535 ms. 4xxxx+15 Nouvelles tentatives courantes La valeur affichée indique le nombre courant de tentatives effectuées par le bloc XMIT. Lecture seule 1175 Bloc de communication XMIT Description des paramètres Table des états d'erreur La table ci-dessous dresse la liste des codes d'erreur générés par le bloc d'état du port XMIT (4x + 1). 1176 Code d'erreur Description de l'erreur 1 Exception Modbus, fonction non valide 2 Exception Modbus, adresse de données non valide 3 Exception Modbus, valeur de données non valide 4 Exception Modbus, échec du périphérique esclave 5 Exception Modbus, accusé de réception 6 Exception Modbus, périphérique esclave occupé 7 Exception Modbus, accusé de réception négatif 8 Exception Modbus, erreur de parité de la mémoire Chiffres (9 à 99) Réservé 100 La zone de données automate esclave ne peut être égale à zéro 101 La zone de données automate maître ne peut être égale à zéro 102 Bobine (0x) non configurée 103 Registre de sortie (4xxxx) non configuré 104 La longueur des données ne peut être égale à zéro 105 Le pointeur vers la table de messages ne peut être égal à zéro 106 Le pointeur vers la table de messages est en dehors des limites des registres de sortie (4xxxx) configurés 107 Timeout de transmission du message Cette erreur est générée lorsque l'émetteur-récepteur asynchrone universel ne parvient pas à terminer une transmission en 10 secondes maximum. Elle contourne le compteur de tentatives et active la sortie d'erreur sur la première erreur. 108 Erreur non définie 109 Le modem a renvoyé le message ERREUR 110 Le modem a renvoyé le message PAS DE PORTEUSE 111 Le modem a renvoyé le message PAS DE TONALITE 112 Le modem a renvoyé le message OCCUPE 113 Total de contrôle LRC non valide en provenance de l'automate esclave 114 Total