U90 Ladder
Fonctions spéciales
Lionel Lecointe - Support technique
Tel : 01.60.92.41.74 mail :
[email protected]
1
Plan du document
Introductions fonctions spéciales
A*B/C
Communication RS232
Copie d’une suite de mots
Copie d’une valeur dans un vecteur
Trouver la moyenne, le min, le max
Communication MODBUS
Modifier la valeur d’une temporisation
Récupérer la valeur d’une temporisation
Racine carrée
Convertir MB vers MI / MI vers MB
MI vers vecteur de sorties / vecteur d’entrées vers MI
Accéder à la Data Base
Effacer des messages d’une carte SIM
Lecture immédiate des entrées
Modification immédiate des sorties
Linéarisation
Doubles mots
Modifier les paramètres d’un port de COM
Interruption
Stocker un numéro de téléphone dans des MI
Décalage d’une valeur
Sorties rapides ( PWM )
Page 3
Page 18
Page 19
Page 20
Page 21
Page 22
Page 23
Page 24
Page 26
Page 27
Page 29
Page 30
Page 32
Page 33
Page 4
Page 5
Page 7
Page 8
Page 9
Page 10
Page 15
Page 16
Page 17
2
Fonctions spéciales
le SI 140.
U90 Ladder comprend des fonctions spéciales qui ne sont pas représentées par des blocs comme peuvent l’être les fonctions de comparaison ou de stockage.
Ces fonctions sont accessibles grâce à des mots système :
•
SI 140 : numéro de la fonction
•
SI 141 à 147 : opérandes 1 à 7
La marche à suivre pour utiliser ces fonctions est la suivante :
•
Stocker les paramètres de la fonction dans les mots système qui conviennent
•
Stocker ensuite le numéro de la fonction dans le SI 140
Il faut savoir que, lorsque vous vous mettez en ligne avec l’automate, la valeur contenue dans le SI 140 ne sera pas affichée.
Pour certaines fonctions il faudra activer un bit système à la place de stocker une valeur dans
3
A*B/C
Cette fonction vous permet de :
•
Multiplier deux opérandes
•
Diviser le produit par un troisième opérande
La marche à suivre est la suivante :
•
Stocker la valeur de A dans le SI 141
•
Stocker la valeur de B dans le SI 142
•
Stocker la valeur de C dans le SI 143
•
Stocker ensuite #100 dans le SI 140
Le résultat sera stocké dans :
•
SI 144
•
SI 4 ( le reste de la division )
Si le résultat n’est pas un entier :
•
SB 141 passe à 1
Si la valeur de C est 0 :
•
SB 4 « Division par zéro » passe à 1
4
Communication RS232
Cette fonction vous permet de paramétrer votre automate pour communiquer via une liaison
RS232 ( pour recevoir des informations d’un lecteur RFID par exemple ).
Les mots système utilisés sont :
•
SI 141 : STX ( Start of Text )
Sélectionnez une des 3 options possibles en stockant :
* 0-255 ( ASCII )
*
*
-1 : pas de STX ( déconseillé )
-2 : pas de STX ( autorise l’accès pour les applications Unitronics )
•
SI 142 : ETX ( End of Text )
Sélectionnez une des 3 options possibles en stockant :
* 0-255 ( ASCII )
*
*
-1 : pas de ETX ( utilise la longueur de la trame )
-2 : pas de ETX ( utilise le « silent time » qui suit le STX )
•
SI 143 : ETX ( longueur ou « silent time » )
* longueur maximum : 128 ( si vous avez stocké -1 dans SI 142 ; ne peut pas être plus grand que SI 144 )
* « silent time » : maximum 24000 ( 1 unité = 2.509 ms )
•
SI 144 : Longueur de la trame
* longueur maximum : 128 ( lorsque la taille maximum est dépassée, le buffer est automatiquement effacé et SB 60 passe à 0 ; permettant une nouvelle réception )
•
SI 145 : Adresse de début de réception
* indiquez l’adresse du début de la suite de mots dans lesquels seront stockées les données
•
SI 60 : Nombre courant d’octets dans le buffer
•
SI 61 : Nombre final d’octets dans le buffer
* Indique le nombre d’octets dans le buffer lorsque SB 60 passe à 1
5
Communication RS232
*
•
SI 146 : Format de la réception
* 0 : copie chaque octet reçu dans un mot différent
1 : regroupe les octets par groupes de 4 dans un même mot ( utilisé pour recevoir des trames numériques )
•
SI 140 : Début de la réception
* stockez #300 pour débuter la réception des données
Les bits système utilisés sont :
•
SB 60 : Données reçu correctement
* passe à 1 après la réception du ETX ( Read only )
•
SB 61 : Recopie des données du buffer
* son passage à 1 entraîne la recopie des données dans les mots définis au
*
*
SI 145 avec le format défini au SI 146 peut être mis à 1 n’importe quand si SI 146 est à 0 peut être mis à 1 seulement à la fin de la réception
•
SB 62 : Reset
*
* efface le buffer, SI 60, SI 61 et remet à 0 SB 60 doit être mis à 1 pour pouvoir effectuer une autre réception
Reportez vous à l’exemple du logiciel intitulé « Read Card – Display Number Value.U90 » pour voir comment paramétrer votre communication.
Cet exemple montre comment afficher à l’écran des informations provenant d’un lecteur de cartes magnétiques.
6
Copie d’une suite de mots
Cette fonction vous permet de copier toutes le valeurs d’une suite de mots ( aussi appelée vecteur ) dans une autre suite de mots de la même longueur. Vous pouvez copier depuis / vers une suite de MI ou des lignes de la Data Base.
Les mots système utilisés sont :
•
SI 141 : détermine le début du vecteur source
•
SI 142 : détermine la longueur du vecteur ( nombre de mots )
•
SI 143 : détermine le début du vecteur cible
•
SI 140 : choix de la fonction
Stockez les valeurs suivantes en fonction de ce que vous voulez faire :
* #20
* #21
* #22
* #23
MI vers MI
MI vers DB
DB vers MI
DB vers DB
7
Copie d’une valeur dans un vecteur
Cette fonction vous permet de copier la même valeur dans tous les mots d’un vecteur.
Les mots système utilisés sont :
•
SI 141 : détermine le début du vecteur cible
•
SI 142 : détermine la longueur du vecteur cible
•
SI 143 : valeur à copier
•
SI 140 : choix de la fonction
Stockez les valeurs suivantes en fonction de ce que vous voulez faire :
* # 30
* # 31
* # 36 copier dans une suite de mots copier dans des lignes de la Data Base copier dans une suite de bits
8
Trouver la moyenne, le max, le min
Cette fonction vous permet de trouver de trouver la moyenne, le maximum et le minimum d’une suite de mots ( ou de ligne de la Data Base ).
Les mots système utilisés sont :
•
SI 141 : détermine le début du vecteur
•
SI 142 : détermine la longueur du vecteur
•
SI 140 : choix de la fonction
Stockez les valeurs suivantes en fonction de ce que vous voulez faire :
* # 40 : suite de mots
* # 41 : lignes de la Data Base
Les résultats seront placés dans les mots :
•
SI 143 : la moyenne
•
SI 144 : le minimum
•
SI 145 : le maximum
9
Communication MODBUS
Cette fonction vous permet d’établir une communication maître - esclave avec n’importe quel appareil supportant le protocole MODBUS.
Initialisation de la communication :
Les mots système utilisés sont :
•
SI 141 : n° d’identification
* de 0 à 25
* chaque appareil sur le réseau doit avoir un numéro différent
•
SI 142 : Time Out
*
*
1 unité = 10 ms ( un Time Out de 100 équivaut à 1 seconde ) cela correspond à la durée maximum que passera un maître à attendre la réponse d’un esclave
•
SI 143 : nombre d’essais
* c’est le nombre de fois qu’un appareil essayera d’envoyer un message
•
SI 144 : Intervalle entre deux message
*
*
1 unité = 2.5 ms c’est la durée maximum entre deux messages ( valeur conseillée = 2 )
•
SI 145 : Baud Rate
Choisissez la vitesse de transmission parmi les propositions suivantes :
*
*
*
*
110
300
600
1200
*
*
*
*
*
*
2400
4800
9600
19200
38400 ( stocker 384 )
57600 ( stocker 576 )
10
Communication MODBUS
•
SI 140 : initialisation de la communication
Stockez les valeurs suivantes en fonction de ce que vous voulez faire :
* # 600
* # 599 configure l’automate configure l’automate et autorise l’accès depuis un pc avec une application Unitronics
11
Communication MODBUS
Commandes MODBUS :
Avant d’utiliser une commande MODBUS, il faut paramétrer correctement les mots système suivants :
•
SI 141 : identification de l’esclave
* Stockez le numéro d’identification réseau de l’esclave auquel s’applique la commande
•
SI 142 : début du vecteur esclave
* Indiquez dans ce mot l’adresse de l’opérande à partir duquel vous allez lire ou écrire dans la mémoire de l’automate esclave ( voir le tableau d’adresses ).
•
SI 143 : longueur du vecteur
* Doit être différente de zéro.
•
SI 144 : type d’opérande
Stocker la valeur correspondante au type de données dans lesquels vous allez écrire
( automate maître ) :
*
*
*
*
MB => 1
SB => 2
MI => 3
SI => 4
*
*
*
*
I
O
=> 9
=> 10
Valeur courante d’une temporisation
Valeur initiale d’une temporisation
=>
=>
129
128
•
SI 145 : début du vecteur maître
•
SI 140 : commande MODBUS
*
*
Lecture d’une bobine
Forçage d’une bobine
=>
=>
601
602
La bobine dont l’adresse est stockée dans le SI 144 reçoit la valeur stockée dans le SI
145 ( 0 ou 1 ). Ne pas mettre de longueur de vecteur ( SI 143 )
* Forçage de plusieurs bobines => 603
*
*
*
Lecture des registres mémoire
Ecriture dans un registre
=>
=>
604
605
Ecriture dans une suite de registres => 606
12
Communication MODBUS
* Lecture des registres mémoire => 609
Il n’y à aucune différence entre la fonction 609 et 604 si ce n’est la compatibilité avec certains produits.
*
*
Lecture des entrées => 611
Vérification de la communication => 612
Indications données par les mots et bits systèmes :
•
SB 66 : Fonction in Progress
* Est à 1 pendant un transfert puis à 0 lorsque ce transfert est fini
•
SI 66 : Status Messages
Il peut avoir différentes valeurs en fonction de comment s’est passé le transfert :
*
*
*
*
*
*
0
1
2
3
4
5
=>
=>
=>
Tout est OK
Numéro de commande inconnu
Adresse mémoire incorrecte
=> Nombre d’opérandes demandé trop élevé
=> Time Out
=> Impossibilité d’établir la communication
*
*
*
6
7
8
=>
=>
=>
Problème de synchronisation des données
Problème de synchronisation des données
Nombre d’opérandes demandé trop élevé
Une commande MODBUS ne peut traiter plus de 1900 bits ( soit 62 mots de 32 bits ou
124 mots de 16 bits ).
*
*
9 => Le numéro d’esclave est égal à 0
10 => Problème de synchronisation des données
13
Communication MODBUS
Tableau d’adresses ( automate esclave ):
Bits
* Début de la plage mémoire
* 0000
* 3000
* 4000
* 5000
* 6000
* Type d’opérande
* MB
* SB
* I
* O
* T
Registres
* 0000
* 4000
* 6900
* 7200
* MI
* SI
* T ( courant )
* T ( initial )
Commandes
* Lecture
* # 601
* # 601
* # 601
* # 601
* # 601
* # 604
* # 604
* # 604
* # 604
Commandes
* Ecriture
* # 602 / 603
* # 602 / 603
* Impossible
* # 602 / 603
* Impossible
* # 16
* # 16
* # 16
* # 16
14
Modifier la valeur d’une temporisation
Cette fonction vous permet de remplacer la valeur courante ou initiale d’une temporisation par une valeur contenue dans un mot.
Les mots systèmes utilisés sont :
•
SI 141 : Sélection de la temporisation
•
SI 142 : Valeur désirée
•
SI 143 : Résolution de la temporisation
*
*
0
1
=>
=>
Ne pas changer la résolution
10 ms
*
*
10
100
=>
=>
100 ms
1000 ms ( 1 s )
* 1000 => 10000 ms
•
SI 140 : Modification de la temporisation
*
*
200 => Modifier la valeur initiale
201 => Modifier la valeur courante
15
Récupérer la valeur d’une temporisation
Cette fonction vous permet de récupérer la valeur courante ou initiale d’une temporisation.
Les mots systèmes utilisés sont :
•
SI 141 : Sélection de la temporisation
•
SI 140 : Récupération de la valeur
*
*
202 => récupérer la valeur initiale
203 => récupérer la valeur courante
Les résultats sont stockés dans les mots systèmes suivants :
•
SI 142 : Valeur récupérée
•
SI 143 : Résolution de la temporisation
*
*
*
*
1 => 10 ms
10 => 100 ms
100 => 1000 ms ( 1 s )
1000 => 10000 ms
16
Racine carrée
Cette fonction vous permet d’effectuer le calcul de la racine carrée d’une valeur.
Les mots systèmes utilisés sont :
•
SI 141 : Valeur dont vous voulez la racine carrée
•
SI 140 : Effectuer le calcul en stockant # 110
Les résultats sont placés dans les mots systèmes suivants :
•
SI 142 : Partie entière
•
SI 143 : Partie décimale
17
Convertir MB vers MI / MI vers MB
Un mot est composé de 16 bits, vous pouvez donc, grâce à cette fonction, convertir une suite de bits en un seul mot ou, à l’inverse, décomposer un mot en une suite de bits.
Les mots systèmes utilisés sont :
•
SI 170 : Adresse du mot contenant la valeur entière
•
SI 171 : Adresse du début de la plage de bits
•
SI 172 : Nombre de bits
Les bits systèmes utilisés pour activer cette fonction sont :
•
SB 170 : MB vers MI
•
SB 171 : MI vers MB
18
MI vers vecteur de sorties / vecteur d’entrées vers MI
Cette fonction vous permet de copier une suite d’entrées vers un mot interne et de copier la valeur d’un mot interne vers une suite de sorties.
Les mots systèmes utilisés sont :
•
SI 170 : Adresse du mot contenant la valeur entière
•
SI 171 : Adresse du début de la plage d’entrées / sorties
•
SI 172 : Nombre d’entrées / sorties
Les bits systèmes utilisés sont :
•
SI 172 : Entrées vers MI
•
SI 173 : MI vers sorties
Les entrées / sorties situées sur des modules d’extensions sont adressées grâce à la formule suivante :
32 + x * 16 + y
Où x est le numéro du module ( de 0 à 7 ) et y le numéro de l’entrée / sortie ( de 0 à 15 )
Il faut savoir que le module EX90-DI8-RO8, même si il est le seul module du système, sera toujours le module numéro 7.
19
Accéder à la Data Base
Pour aller lire ou écrire dans la Data Base vous devez utiliser deux mots systèmes :
•
SI 40 : Index
•
SI 41 : valeur du mot indexé
20
Effacer des messages d’une carte SIM
Cette fonction vous permet d’effacer des sms stockés dans une carte SIM.
Le mot système utilisé est :
•
SI 187 : Nombre de message à effacer ( maximum 30 )
Le bit système utilisé est :
•
SB 193 : Effacer les messages
21
Lecture immédiate des entrées
Cette fonction vous permet de lire la valeur des entrées de façon immédiate ( c'est-à-dire sans dépendre du temps de cycle automate ).
Lorsque le bit système SB 116 est activé, les valeurs des entrées sont recopiées dans des mots ou bits systèmes. Ces mots varient en fonction des modèles ( voir ci-dessous )
M91-19-TC2 & M91-19-UN2 & M91-19-T1
*
*
*
*
I 0
I 1
I 2
I 3
=>
=>
=>
=>
SB 110
SB 111
SB 112
SB 113
M91-19-R1 & M91-19-R2 & M91-19-R2-CAN
*
*
HSC 0
HSC 1
=>
=>
SI 44
SI 45
*
*
*
*
*
*
I 0
I 1
I 2
I 3
I 4
I 5
=>
=>
=>
=>
=>
=>
SB 110
SB 111
SB 112
SB 113
SB 114
SB 115
*
*
*
HSC 0
HSC 1
HSC 2
=>
=>
=>
SI 44
SI 45
SI 46
M91-19-T38
*
*
*
*
I 0
I 1
I 2
I 3
=>
=>
=>
=>
SB 110
SB 111
SB 114
SB 115
M91-19-UA2
*
*
I 0 => SB 110
I 1 => SB 111
M91-19-T2C
* I 0 => SB 110
*
*
*
I 1
I 2
I 3
=>
=>
=>
SB 111
SB 112
SB 113
*
*
M91-19-R6C
I 4 => SB 114
I 5 => SB 115
*
*
I 0
I 1
=>
=>
SB 112
SB 113
*
*
*
*
*
*
*
HSC 0
HSC 1
HSC 0
HSC 0
HSC 1
HSC 2
HSC 0
=> SI 44
=> SI 46
=> SI 44
=> SI 44
=> SI 45
=> SI 46
=> SI 45
22
Modification immediate des sorties
Vous pouvez de la même manière agir instantanément sur des sorties ( ou remettre immédiatement des compteurs rapides à 0 ) par l’intermédiaire de bits systèmes.
M91-19-TC2 & M91-19-UN2 & M91-19-T1
*
*
*
*
O 0 => SB 120
O 1 => SB 121
O 10 => SB 122
O 11 => SB 123
*
*
HSC 0
HSC 1
=>
=>
SB 117
SB 118
M91-19-R1 & M91-19-R2 & M91-19-R2-CAN
* O 0 => SB 120 *
*
*
M91-19-T38
O 1 => SB 121
O 2 => SB 122
*
*
*
*
Pas de sorties immédiates *
*
HSC 0
HSC 1
HSC 2
HSC 0
HSC 1
=> SB 117
=> SB 118
=> SB 119
=>
=>
SB 117
SB 118
M91-19-UA2
*
*
O 0 => SB 120
O 1 => SB 121
M91-19-T2C
*
*
*
*
O 0 => SB 120
O 1 => SB 121
O 10 => SB 122
O 11 => SB 123
M91-19-R6C
* O 0 => SB 120
*
*
O 1 => SB 121
O 2 => SB 122
*
*
*
*
*
HSC 0
HSC 0
HSC 1
HSC 2
HSC 0
=> SB 117
=> SB 117
=> SB 118
=> SB 119
=> SB 117
23
Linéarisation
Une linéarisation peut être utilisée, par exemple, pour avoir une valeur décimale directement en pourcentage ( passer de 0-1023 à 0-100 )
Linéarisation à l’affichage :
Il faut savoir qu’une valeur linéarisée pour l’affichage ne sera pas disponible dans le Ladder et aucun calcul ne pourra être fait avec.
Pour ce type de linéarisation il suffit de cocher la case « activer linéarisation » lorsque vous paramétrer une variable.
24
Linéarisation
Linéarisation dans le Ladder :
Une linéarisation effectuée dans le Ladder permet d’avoir accès au résultat pour l’exploité dans des calculs. Vous pouvez tout de même afficher le résultat en créant une variable attachée au mot dans lequel se trouve le résultat.
Les mots systèmes utilisés sont :
•
SI 80 : x1
•
SI 81 : x2
•
SI 82 : y1
•
SI 83 : y2
•
SI 84 : x ( valeur à linéariser )
•
SI 85 : y ( valeur linéarisée )
Le bit système utilisé pour activer la linéarisation est le SB 80
25
Doubles mots
Cette fonction n’est disponible que sur les modèles M91. Elle permet d’avoir des mots internes de 32 bits ( en utilisant 2 mots de 16 bits ).
Pour cela il suffit de mettre à 1 le bit système SB 82 puis de se servir des fonctions de façon habituelle en sachant qu’ il y a deux mots derrière chaque opérande.
26
Changer les paramètres d’un port de COM
Cette fonction vous permet de configurer le port de liaison série d’un M91.
Les mots systèmes utilisés sont :
•
SI 141 : Baud Rate
Sélectionnez la vitesse de transmission parmis les propositions suivantes :
*
*
110
300
* 600
*
*
*
*
*
*
*
1200
2400
4800
9600
19200
38400 ( stockez 380 )
57600 ( stockez 576 )
•
SI 142 : Bits de données
*
*
7
8
•
SI 143 : Parité
*
*
*
0
1
2
=> Pair
=> Impair
=> Aucune parité
•
SI 144 : Contrôle matériel
*
*
0
1
=> Désactivé
=> Activé
•
SI 145 : Time Out ( unité 10ms )
*
*
*
*
*
*
50
100 ( équivaut à 1s )
150
200
500
6000
27
Changer les paramètres d’un port de COM
•
SI 146 : Bits d’arrêt
*
*
1
2
•
SI 140 : Changer les paramètres
* # 340
Le bit système SB 141 passe à 1 lorsque le port de communication est correctement initialisé
28
Interruption
Lorsque cette fonction est activée :
•
Le programme se met en pause toutes les 2,5 ms ( même au milieu d’un segment )
•
Il effectue la routine d’interruption ( qui se trouve obligatoirement dans le dernier segment )
•
Puis il reprend la lecture du programme là où il s’était arrêté
Cela permet, par exemple, de scruter en permanence une entrée ou un bit et d’effectuer une action dès que celui-ci passe à un sans tenir compte de l’état du programme.
La routine d’interruption ne doit pas excéder 2,5 ms
Pour activer l’interruption, stockez # 500 dans SI 140
L’exemple appelé « Interrupt time count » se trouvant dans le dossier d’installation de U90
Ladder vous montre comment définir une interruption.
29
Stocker un numéro de téléphone dans des MI
Cette fonction vous permet, lorsque vous voulez envoyer des sms, d’utiliser un numéro stocké dans des MI ( qui a été préalablement saisi grâce au clavier de l’automate par exemple ).
Pour cela vous devez écrire MI dans le carnet contenant les numéros de téléphone
Ensuite :
•
Stockez l’adresse du mot interne contenant le début du réglage du numéro dans SI 141
•
Stockez le nombre de chiffres constituants le numéro dans le premier mot
•
Stockez # 10000 dans le 2eme mot si vous souhaitez mettre un signe +
•
Stockez les numéros par groupe de 4 dans les mots suivants
•
Stockez # 400 dans SI 140
30
Stocker un numéro de téléphone dans des MI
31
Décalage d’une valeur
Cette fonction permet de décaler vers la droite ou la gauche tous les bits composant une valeur.
Les mots système utilisés sont :
•
SI 87 : Valeur à décaler
•
SI 88 : Nombre de bits à décaler
Les bits systèmes utilisés sont :
•
SB 87 : Décalage vers la gauche
•
SB 88 : Décalage vers la droite
32
Sorties rapides ( PWM )
Certaines sorties peuvent être utilisées en tant que sorties rapides ( seulement sur les modèles avec des sorties transistors ). Cela permet une fréquence de sortie allant jusqu’à 2 kHz alors qu’une sortie classique est limitée à environ 400 Hz.
La configuration d’une telle sortie s’effectue dans le Hardware
33
Sorties rapides ( PWM )
Pour paramétrer votre sortie :
•
Frequency :
* La valeur que vous stockez dans ce mot correspond à la fréquence de la sortie ( en Hz )
•
PWM :
* C’est le rapport cyclique. La valeur appartient à l’intervalle 0-1000 et correspond à un pourcentage ( exemple : si vous stockez 250 la sortie sera activée 25 % du temps )
•
Enable Bit :
* C’est le bit à mettre à 1 pour activer le mode PWM
Exemple : Sortie rapide de fréquence 1 kHz et de rapport cyclique égal à 0,5
34

公開リンクが更新されました
あなたのチャットの公開リンクが更新されました。