0% ont trouvé ce document utile (0 vote)
2 vues4 pages

Ladder Sous Unity Pro

Le document présente les types de données utilisés dans Unity Pro, en respectant la norme IEC 61131-3, avec des types élémentaires comme BOOL, BYTE, et REAL, ainsi que des types dérivés tels que DDT et EDT. Il décrit également les variables statiques et dynamiques, leurs caractéristiques, et les méthodes de déclaration dans le navigateur Unity Pro. Enfin, il fournit des exemples pratiques pour la déclaration de variables dans des systèmes de contrôle.

Transféré par

porgomoussa697
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
2 vues4 pages

Ladder Sous Unity Pro

Le document présente les types de données utilisés dans Unity Pro, en respectant la norme IEC 61131-3, avec des types élémentaires comme BOOL, BYTE, et REAL, ainsi que des types dérivés tels que DDT et EDT. Il décrit également les variables statiques et dynamiques, leurs caractéristiques, et les méthodes de déclaration dans le navigateur Unity Pro. Enfin, il fournit des exemples pratiques pour la déclaration de variables dans des systèmes de contrôle.

Transféré par

porgomoussa697
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

2.

Les types de données


2.1 Types élémentaires
Unity Pro respecte scrupuleusement la norme IEC 61131-3 concernant les types de données. Les types
élémentaires sont les briques de base de toute programmation :

Type Taille Plage / Description Exemple d'usage


BOOL 1 bit TRUE / FALSE (0 ou 1) État capteur, bobine
BYTE 8 bits 0 à 255 Octet de données
WORD 16 bits 0 à 65535 Registre 16 bits
DWORD 32 bits 0 à 4294967295 Registre 32 bits
INT 16 bits -32768 à +32767 Compteur, consigne
UINT 16 bits 0 à 65535 Valeur non signée
DINT 32 bits -2147483648 à +2147483647 Grand entier
UDINT 32 bits 0 à 4294967295 Grand entier non signé
REAL 32 bits ±1.175E-38 à ±3.403E+38 Température, vitesse
TIME 32 bits T#0ms à T#49d17h2m47s295ms Temporisation
DATE 16 bits D#1984-01-01 à D#2163-12-31 Date calendaire
STRING Variable Chaîne de 1 à 255 chars Messages, codes

2.2 Types dérivés (DDT / EDT)


Les types dérivés permettent de créer des structures de données personnalisées, visibles dans le navigateur
du projet sous « Types données dérivés » :

• DDT (Derived Data Type) : Structures regroupant plusieurs variables de types différents. Ex : une
structure MOTEUR avec un BOOL état, un REAL vitesse, un INT alarme.
• EDT (Enumerated Data Type) : Type énuméré définissant un ensemble de valeurs nommées. Ex :
ETAT_MACHINE = (ARRET, DEMARRAGE, EN_MARCHE, DEFAUT).
• Tableaux (Array) : Collection d'éléments du même type. Ex : ARRAY[0..9] OF REAL pour 10 valeurs
de température.

3. Variables statiques
3.1 Définition et caractéristiques
Une variable statique est une variable dont l'adresse mémoire est fixe et réservée à la compilation du projet.
Elle conserve sa valeur entre deux cycles d'exécution et peut être rendue rétentive (conservation en cas de
coupure d'alimentation).

Propriété Description
Adresse mémoire fixe Réservée dès la compilation
Durée de vie Permanente (toute la durée du programme)
Propriété Description
Rétentivité Possible (%M, %MW rétentifs)
Localisation %M, %MW, %I, %Q, %IW, %QW...
Visibilité Globale au projet
Initialisation Valeur initiale définissable

3.2 Adressage mémoire

Adresse Type Description


%M0 … %Mn BOOL Bits mémoire internes
%MW0 … %MWn WORD / INT Mots mémoire internes (16 bits)
%MD0 … %MDn DWORD / DINT Double mots mémoire (32 bits)
%MF0 … %MFn REAL Mots réels (virgule flottante)
%I0.0 … %In.m BOOL Entrées TOR de l'automate
%Q0.0 … %Qn.m BOOL Sorties TOR de l'automate
%IW0.0 WORD Entrée analogique (mot)
%QW0.0 WORD Sortie analogique (mot)

4. Variables dynamiques
4.1 Définition et caractéristiques
Une variable dynamique (ou variable non localisée) est une variable sans adresse physique fixe. Sa
mémoire est gérée dynamiquement par l'OS de l'automate. Elle ne possède pas de référence %M ou %MW
et n'est pas directement accessible depuis un pupitre ou un système SCADA sans mappage préalable.

Propriété Description
Adresse mémoire Non fixe — gérée dynamiquement
Durée de vie Limitée (selon contexte d'exécution)
Rétentivité Impossible (non localisée)
Localisation Aucune adresse physique
Visibilité Globale ou locale selon déclaration
Usage typique Variables internes de calcul, tampons temporaires

4.2 Comparaison statique / dynamique

Critère Variable STATIQUE Variable DYNAMIQUE


Adresse mémoire Fixe (%MW, %M…) Aucune adresse physique
Critère Variable STATIQUE Variable DYNAMIQUE
Durée de vie Permanente Durée de l'exécution
Rétentivité Possible Non
Accès SCADA Direct Mappage nécessaire
Initialisation Valeur initiale 0 ou valeur par défaut
Déclaration Avec adresse dans table Sans adresse dans table
Usage E/S, consignes, état machine Calculs internes, tampons

5. Déclaration de variables statiques


5.1 Dans le navigateur Unity Pro
Pour déclarer des variables statiques, naviguer dans le projet Unity Pro : Variables et instances → Variables
élémentaires. La table de déclaration comporte les colonnes suivantes :

Colonne Rôle Exemple


Nom Identifiant unique de la variable bMoteur_M1
Type Type de données IEC 61131-3 BOOL, INT, REAL…
Adresse Adresse mémoire physique %M0, %MW10, %Q0.1
Val. initiale Valeur au démarrage FALSE, 0, 0.0
Commentaire Description fonctionnelle Etat moteur pompe 1

5.2 Exemples pratiques


Exemple de table de variables statiques pour un système de pompage :

Nom Type Adresse Val. Commentaire


Init.
bCapteur_Niveau_Haut BOOL %I0.0 FALSE Capteur niveau haut cuve
bCapteur_Niveau_Bas BOOL %I0.1 FALSE Capteur niveau bas cuve
bMoteur_Pompe BOOL %Q0.0 FALSE Commande moteur pompe
bAlarme_Defaut BOOL %Q0.3 FALSE Voyant alarme défaut
iVitesse_Consigne INT %MW10 0 Consigne vitesse (tr/min)
iVitesse_Mesure INT %IW0.0 0 Mesure vitesse variateur
rTemperature REAL %MF0 0.0 Température moteur (°C)
tTempo_Demarrage TIME %MW20 T#0s Tempo démarrage moteur

Bonne pratique : Utilisez des noms explicites avec préfixe de type (b pour BOOL, i pour INT, r pour REAL, t pour
TIME) et commentez systématiquement chaque variable pour faciliter la maintenance.
6. Déclaration de variables dynamiques
6.1 Variables non localisées
Les variables dynamiques (non localisées) se déclarent de la même façon que les variables statiques, mais
le champ Adresse est laissé vide. Unity Pro leur attribue automatiquement une zone mémoire.

Nom Type Adresse Val. Commentaire


Init.
bAuxiliaire_Calc BOOL (vide) FALSE Variable auxiliaire calcul
iCompteur_Cycles INT (vide) 0 Compteur de cycles internes
rConsigne_PID REAL (vide) 0.0 Consigne calculée PID
rEcart_Regulation REAL (vide) 0.0 Écart mesure/consigne
bEtat_Sequence BOOL (vide) FALSE Drapeau séquence interne
iEtape_Grafcet INT (vide) 0 Étape active séquenceur

6.2 Variables locales de blocs fonctions (FB)


Dans les blocs fonctions (FB) et sections de programme (Section LD), des variables locales peuvent être
déclarées dans la section VAR … END_VAR. Ces variables sont strictement locales au bloc et constituent
des variables dynamiques par excellence :

VAR
bLocal_Flag : BOOL := FALSE;
iLocal_Cpt : INT := 0;
rLocal_Calcul : REAL := 0.0;
tLocal_Tempo : TIME := T#0s;
END_VAR

Rappel : Les variables locales ne sont PAS accessibles depuis d'autres sections ou blocs. Pour partager des
données, utilisez des variables globales (statiques ou non localisées) déclarées dans la table des variables.

Vous aimerez peut-être aussi