0% ont trouvé ce document utile (0 vote)
4 vues13 pages

Ladder UnityPro

Le document présente le langage Ladder utilisé dans Unity Pro pour la programmation d'automates programmables industriels, détaillant ses éléments de base, types de données, et la gestion des variables statiques et dynamiques. Il décrit également les types de données conformes à la norme CEI 61131-3, incluant des types élémentaires, dérivés, et des structures de données complexes. Enfin, il explique la déclaration et l'utilisation des variables dans Unity Pro, ainsi que leurs caractéristiques et zones mémoire associées.

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 PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
4 vues13 pages

Ladder UnityPro

Le document présente le langage Ladder utilisé dans Unity Pro pour la programmation d'automates programmables industriels, détaillant ses éléments de base, types de données, et la gestion des variables statiques et dynamiques. Il décrit également les types de données conformes à la norme CEI 61131-3, incluant des types élémentaires, dérivés, et des structures de données complexes. Enfin, il explique la déclaration et l'utilisation des variables dans Unity Pro, ainsi que leurs caractéristiques et zones mémoire associées.

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 PDF, TXT ou lisez en ligne sur Scribd

LANGAGE LADDER

sous UNITY PRO


Types de données — Variables statiques & dynamiques
Référence technique complète
Langage Ladder sous UNITY PRO Types de données & Variables

1. Présentation du langage Ladder

Le langage Ladder (ou schéma à contacts) est un langage de programmation graphique normalisé CEI
61131-3, destiné aux automates programmables industriels (API/PLC). Sous Unity Pro (logiciel Schneider
Electric), il représente la logique de contrôle sous forme de réseaux électriques avec des contacts et des
bobines, inspiré des schémas de câblage électrique traditionnels.

1.1 Éléments de base du langage Ladder

Symbole Nom Rôle

■| |■ Contact normalement ouvert (NO) Passant si la variable est TRUE

■|/|■ Contact normalement fermé (NF) Passant si la variable est FALSE

■( )■ Bobine Met la variable à TRUE si réseau actif

■(/)■ Bobine inversée Met la variable à FALSE si réseau actif

■[S]■ Bobine SET (mémorisation) Force la variable à TRUE de façon permanente

■[R]■ Bobine RESET (démémorisation) Force la variable à FALSE de façon permanente

Appel de fonctions complexes (temporisateurs,


FB/FBD Bloc fonction
compteurs…)

2. Les types de données

Unity Pro prend en charge l'ensemble des types de données définis par la norme CEI 61131-3. Ils se
répartissent en deux grandes familles : les types élémentaires et les types dérivés (DDT — Derived
Data Types).

2.1 Types élémentaires

2.1.1 Types booléens

Type Taille Plage / Valeurs Description Exemple

TRUE / FALSE (0 ou Booléen standard


BOOL 1 bit Capteur_Present : BOOL
1) CEI

BYTE 8 bits 0 à 255 Octet non signé Octet_Config : BYTE

2.1.2 Types entiers

© Référence technique — Schneider Electric Unity Pro Page 2


Langage Ladder sous UNITY PRO Types de données & Variables

Type Taille Plage Description Usage typique

SINT 8 bits −128 à +127 Entier court signé Petits compteurs locaux

Entier court non


USINT 8 bits 0 à 255 Valeurs de configuration
signé

Entier signé
INT 16 bits −32 768 à +32 767 Compteur de cycles
standard

UINT 16 bits 0 à 65 535 Entier non signé Mesure analogique brute

−2 147 483 648 à +2 147 483


DINT 32 bits Entier long signé Compteur longue durée
647

Entier long non


UDINT 32 bits 0 à 4 294 967 295 Compteur de pulses
signé

Entier très long


LINT 64 bits ±9.2 × 10^18 Calculs haute précision
signé

2.1.3 Types réels (virgule flottante)

Type Taille Précision Plage approx. Usage typique

REAL 32 bits 7 chiffres sig. ±1.18×10■³■ à ±3.4×10³■ Température, pression, vitesse

±2.2×10■³■■ à
LREAL 64 bits 15 chiffres sig. Calculs scientifiques précis
±1.8×10³■■

2.1.4 Types temporels

Type Description Format Exemple

TIME Durée T# T#5s, T#1m30s, T#500ms

DATE Date calendrier D# D#2024-12-31

TIME_OF_DAY Heure du jour TOD# TOD#08:30:00

DATE_AND_TIME Date + heure DT# DT#2024-12-31-23:59:59

2.1.5 Types chaîne de caractères

Type Longueur max. Description Exemple

STRING 255 car. Chaîne ASCII variable 'Moteur_1_ON'

WSTRING 255 car. Chaîne Unicode (UTF-16) W'Arret urgence'

2.1.6 Types bit/mot

© Référence technique — Schneider Electric Unity Pro Page 3


Langage Ladder sous UNITY PRO Types de données & Variables

Type Taille Description Usage typique

BYTE 8 bits Octet brut, accès bit par bit Registre de configuration

WORD 16 bits Mot 16 bits, opérations logiques Registre d'état variateur

DWORD 32 bits Double mot, masques 32 bits Registre étendu

LWORD 64 bits Quadruple mot, 64 bits Horodatage précis

2.2 Types dérivés (DDT — Derived Data Types)


Les types dérivés permettent de construire des structures de données complexes à partir des types
élémentaires. Ils se déclarent dans l'éditeur de types de données de Unity Pro (Projet > Types de
données).

2.2.1 Tableaux (ARRAY)


Un tableau est une collection d'éléments de même type, accessibles par un ou plusieurs indices entiers.

(* Déclaration d'un tableau 1D et d'une matrice 2D *)


MonTableau : ARRAY[0..9] OF INT; (* 10 entiers, indices 0 à 9 *)
Matrice : ARRAY[1..4, 1..4] OF REAL; (* Matrice 4x4 de réels *)

(* Accès aux éléments *)


MonTableau[3] := 42; (* Écriture à l'indice 3 *)
Valeur := Matrice[2, 3]; (* Lecture ligne 2, colonne 3 *)

2.2.2 Structures (STRUCT)


Une structure regroupe des variables de types différents sous un seul nom logique. Elle est idéale pour
modéliser un équipement (moteur, capteur, axe…).

TYPE T_Moteur : (* Définition du type personnalisé *)


STRUCT
Marche : BOOL; (* Commande marche/arrêt *)
Vitesse : REAL; (* Vitesse en tr/min *)
Temperature : REAL; (* Température en ° C *)
Defaut : BOOL; (* Présence d'un défaut *)
CodeAlarme : INT; (* Code alarme actif *)
END_STRUCT
END_TYPE

(* Déclaration et utilisation d'une instance *)


Moteur_1 : T_Moteur;
Moteur_1.Marche := TRUE;
Moteur_1.Vitesse := 1450.0;
IF Moteur_1.Defaut THEN
Moteur_1.CodeAlarme := 5;
END_IF;

2.2.3 Énumérations (ENUM)

© Référence technique — Schneider Electric Unity Pro Page 4


Langage Ladder sous UNITY PRO Types de données & Variables

TYPE T_ModeMoteur : (Arret, Marche, Ralenti, Maintenance);


END_TYPE

Mode_Actuel : T_ModeMoteur := Arret;


Mode_Actuel := Marche; (* Affectation lisible et typée *)

© Référence technique — Schneider Electric Unity Pro Page 5


Langage Ladder sous UNITY PRO Types de données & Variables

3. Variables statiques

Les variables statiques sont des variables dont la valeur est conservée en mémoire d'un cycle
d'exécution à l'autre. Selon la configuration de l'automate, elles peuvent également survivre à un
arrêt/redémarrage (mémoire non volatile ou sauvegardée par batterie).

3.1 Caractéristiques
• Valeur persistante entre les cycles de scrutation (scan)
• Stockées dans la mémoire interne de l'automate (%M, %MW, %MD, %MF)
• Utilisées pour mémoriser des états, des compteurs, des valeurs de production
• Peuvent être rendues rémanentes (conservées après coupure d'alimentation)
• Initialisées à une valeur définie au premier démarrage à froid (cold start)

3.2 Zones mémoire statique

Adresse Type CEI Taille Plage d'indices Description

%M BOOL 1 bit %M0 à %M127999 Bits mémoire internes

%MW0 à
%MW WORD / INT 16 bits Mots mémoire 16 bits
%MW127999

%MD DWORD / DINT 32 bits %MD0 à %MD127998 Doubles mots 32 bits

%MF REAL 32 bits %MF0 à %MF127998 Flottants 32 bits

%ML LWORD / LINT 64 bits %ML0 à %ML127996 Longs mots 64 bits (M580/Quantum)

■ Les %MW et %MD partagent la même zone mémoire (overlapping). %MD0 correspond à {%MW1, %MW0}
(ordre little-endian).

3.3 Exemples d'adresses statiques


%M0 → Bit mémoire (BOOL) : Mémorisation d'un état défaut
%M100 → Bit mémoire (BOOL) : Flag de première exécution
%MW10 → Mot 16 bits (INT) : Compteur de cycles machine
%MW50 → Mot 16 bits (WORD) : Registre de configuration process
%MD20 → Double mot (DINT) : Compteur de pièces longue période
%MF5 → Réel 32 bits (REAL) : Setpoint de température (° C)
%ML2 → Long mot (LINT) : Horodatage 64 bits haute précision

3.4 Variables rémanentes (RETAIN / PERSISTENT)


Les variables rémanentes conservent leur valeur après une coupure secteur. Elles sont stockées dans
une zone mémoire sauvegardée (batterie ou Flash).

© Référence technique — Schneider Electric Unity Pro Page 6


Langage Ladder sous UNITY PRO Types de données & Variables

VAR RETAIN
Nb_Pieces_Total : DINT := 0; (* Conservé après coupure secteur *)
Setpoint_Pression : REAL := 5.5; (* Consigne process conservée *)
END_VAR

VAR PERSISTENT
Num_Serie_Actif : DINT := 0; (* Survie au téléchargement *)
END_VAR

Attribut Démarrage à chaud (warm) Démarrage à froid (cold)

VAR (standard) Valeur conservée Remise à valeur initiale

VAR RETAIN Valeur conservée Valeur conservée

VAR PERSISTENT Valeur conservée Valeur conservée (même après download)

© Référence technique — Schneider Electric Unity Pro Page 7


Langage Ladder sous UNITY PRO Types de données & Variables

4. Variables dynamiques

Les variables dynamiques sont des variables dont la valeur est recalculée ou mise à jour à chaque
cycle de scrutation. Elles reflètent l'état instantané du terrain (capteurs, actionneurs) ou des calculs
intermédiaires au sein du programme.

4.1 Caractéristiques
• Valeur non persistante — actualisée à chaque scan
• Correspondent principalement aux entrées/sorties physiques des modules E/S
• Peuvent aussi désigner des variables locales à un bloc fonction
• L'image des entrées (%I) est lue en début de cycle
• L'image des sorties (%Q) est écrite en fin de cycle
• Remises à zéro ou à leur valeur par défaut en cas d'arrêt du programme

4.2 Entrées physiques (%I)

Adresse Type Description Exemple

%I\[Link] BOOL Entrée TOR (tout ou rien) %I0.4.0 → rack0, mod4, voie0

%IW\[Link] WORD / INT Entrée analogique 16 bits %IW0.2.0 → valeur analogique

DWORD/DIN
%ID\[Link] Entrée 32 bits %ID0.3.0
T

%IF\[Link] REAL Entrée flottante 32 bits %IF0.2.0

4.3 Sorties physiques (%Q)

Adresse Type Description Exemple

%Q\[Link] BOOL Sortie TOR %Q0.5.0 → commande contacteur

%QW\[Link] WORD / INT Sortie analogique 16 bits %QW0.6.0 → consigne variateur

DWORD/DIN
%QD\[Link] Sortie 32 bits %QD0.7.0
T

%QF\[Link] REAL Sortie flottante 32 bits %QF0.6.0

4.4 Variables locales à un bloc fonction


Dans un bloc fonction (FB) ou une section de programme, les variables déclarées dans VAR sont locales
et dynamiques : elles n'existent que pendant l'exécution du bloc et ne sont pas accessibles depuis
l'extérieur.

© Référence technique — Schneider Electric Unity Pro Page 8


Langage Ladder sous UNITY PRO Types de données & Variables

VAR_INPUT
Consigne : REAL; (* Valeur fournie par l'appelant *)
Enable : BOOL; (* Activation du bloc *)
END_VAR

VAR_OUTPUT
Sortie : REAL; (* Résultat fourni à l'appelant *)
Done : BOOL; (* Indicateur de fin de traitement *)
END_VAR

VAR
Calcul_Interim : REAL; (* Variable locale, non visible dehors *)
Compteur_Int : INT; (* Compteur interne au bloc *)
END_VAR

© Référence technique — Schneider Electric Unity Pro Page 9


Langage Ladder sous UNITY PRO Types de données & Variables

5. Déclaration de variables statiques

Sous Unity Pro, les variables statiques symboliques se déclarent dans l'Éditeur de variables accessible
depuis le navigateur de projet (Variables & instances FB).

5.1 Procédure dans l'éditeur Unity Pro


• 1. Dans le navigateur, ouvrir Variables & instances FB
• 2. Sélectionner l'onglet Variables
• 3. Cliquer sur Nouvelle variable (ou appuyer sur Inser)
• 4. Renseigner les champs : Nom, Type, Adresse (optionnel), Valeur initiale, Commentaire
• 5. Valider et régénérer le projet (Construire > Regénérer tout le projet)

5.2 Champs de déclaration

Champ Obligatoire Description Exemple

Nom symbolique unique dans le


Nom Oui Compteur_Pieces
projet

Type Oui Type de donnée CEI 61131-3 DINT

Adresse mémoire directe


Adresse Non %MD10
(optionnel)

Valeur initiale Non Valeur au démarrage à froid 0

Commentaire Non Description textuelle de la variable Compteur de pièces produites

5.3 Exemples de déclarations complètes


(* Exemples de déclarations dans l'éditeur de variables Unity Pro *)

Nom Type Adresse Init. Commentaire


■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
Compteur_Pieces DINT %MD10 0 Nb total de pièces produites
Setpoint_Temp REAL %MF5 20.0 Consigne de température (° C)
Alarme_Active BOOL %M0 FALSE Présence d'une alarme active
Mode_Production INT %MW100 0 Mode (0=Auto, 1=Manuel, 2=Maint.)
Heure_Depart TIME %MD20 T#0s Heure de départ du cycle
Nom_Machine STRING — '' Identifiant de la machine

5.4 Déclaration en Structured Text (dans un POU)


VAR
(* Variables internes standard *)
Compteur_Locale : INT := 0; (* Compteur local au programme *)
Etat_Precedent : BOOL := FALSE; (* Mémorisation état N-1 *)
END_VAR

© Référence technique — Schneider Electric Unity Pro Page 10


Langage Ladder sous UNITY PRO Types de données & Variables

VAR RETAIN
(* Rémanentes : valeur conservée après coupure secteur *)
Prod_Journaliere : DINT := 0; (* Nb pièces du jour *)
Prod_Totale : DINT := 0; (* Nb pièces total cumulé *)
END_VAR

VAR PERSISTENT
(* Persistantes : survie même au téléchargement *)
Num_Serie_Actif : DINT := 0; (* N° de série en cours *)
END_VAR

VAR CONSTANT
(* Constantes : valeur non modifiable à l'exécution *)
PI : REAL := 3.14159; (* Constante mathématique *)
Vitesse_Max : REAL := 3000.0; (* Vitesse maximale autorisée *)
END_VAR

© Référence technique — Schneider Electric Unity Pro Page 11


Langage Ladder sous UNITY PRO Types de données & Variables

6. Déclaration de variables dynamiques

6.1 Déclaration des entrées/sorties physiques


Les variables dynamiques liées aux E/S physiques sont générées automatiquement lors de la
configuration matérielle. Elles peuvent ensuite recevoir un nom symbolique dans l'éditeur de variables.

• 1. Ouvrir Configuration > Bus de terrain / Rack dans le navigateur


• 2. Ajouter les modules d'entrées-sorties dans les emplacements du rack
• 3. Double-cliquer sur un module pour accéder à ses propriétés E/S
• 4. Dans l'onglet E/S, associer chaque voie à un nom symbolique
• 5. Les adresses %I et %Q sont générées et liées automatiquement

6.2 Exemple de mappage E/S physiques

Adresse physique Nom symbolique Type Description

%I0.1.0 Capteur_Presence BOOL Détecteur inductif cellule 1

%I0.1.1 Fin_Course_Avant BOOL Fin de course vérin avant

%I0.1.2 Bouton_Arret_Urgence BOOL Arrêt d'urgence NF câblé

%IW0.2.0 Pression_Brute INT Capteur pression 4-20mA (0-32767)

%IW0.2.1 Temperature_Brute INT PT100 via module analogique

%Q0.3.0 Contacteur_Moteur BOOL Commande contacteur KM1

%Q0.3.1 Vanne_Ouverture BOOL Commande vanne pneumatique

%QW0.4.0 Consigne_Variateur INT Consigne vitesse 0-10V (0-32767)

6.3 Déclaration dans un bloc fonction (FB)


Les variables locales à un FB sont déclarées directement dans l'en-tête du bloc. Chaque section a un rôle
précis dans l'interface du bloc.

Section Rôle Visibilité Exemple

Entrées du bloc (lecture Accessible depuis


VAR_INPUT Enable : BOOL
seule) l'appelant

Accessible depuis
VAR_OUTPUT Sorties du bloc Done : BOOL
l'appelant

Variables Accessible depuis


VAR_IN_OUT Buffer : ARRAY[0..9] OF INT
bidirectionnelles l'appelant

© Référence technique — Schneider Electric Unity Pro Page 12


Langage Ladder sous UNITY PRO Types de données & Variables

Section Rôle Visibilité Exemple

Variables locales Privée (interne au


VAR Compteur : INT
internes FB)

Variables temporaires
VAR_TEMP Privée (réinitialisée) Temp_Calc : REAL
(un cycle)

Variables rémanentes Privée (survie


VAR RETAIN Total : DINT
du FB coupure)

7. Tableau récapitulatif comparatif

Critère Variable statique Variable dynamique

Persistance Conservée entre les cycles Recalculée à chaque scan

Zone mémoire %M, %MW, %MD, %MF, %ML %I, %Q (E/S physiques) ou VAR locale

Usage typique Compteurs, flags, setpoints Signaux terrain, calculs temporaires

Déclaration Éditeur de variables Unity Pro Config. matérielle ou VAR locale FB

Rétention secteur Possible (RETAIN/PERSISTENT) Non — perdue à l'arrêt

Valeur initiale Définie à la déclaration Lue depuis le terrain (entrées)

Accès global Oui (projet entier) Selon portée (FB local ou global)

Document généré comme référence technique. Se référer à la documentation officielle Unity Pro / EcoStruxure
Control Expert pour les détails spécifiques à votre version logicielle.

© Référence technique — Schneider Electric Unity Pro Page 13

Vous aimerez peut-être aussi