Documents

MicroARM-A4

Dernière modification le

1. Introduction

Cette notice décrit les spécificités du MicroARM-A4.
Pour les informations communes à la programmation, voir la « notice MicroLADDER ». Pour mieux les discerner les adresses en MicroLADDER apparaissent en couleur sur les cotés des images. NC signifie non connecté.
Il ne faut pas déclarer de sortie TOR si les sorties analogiques doivent être utilisées.

2. Caractéristiques

2.1 Présentation de la carte

  • Processeur Arm 7 LPC2368
  • 512Ko Flash (pour sauvegarder le moniteur et l’application) et 32 Ko RAM
  • 2 port RS232 (COM0 et COM2) sur le même connecteur SubD 9 points pour chargement ou libre d’utilisation
  • 1 ports RS485 (COM1) pour chargement ou libre d’utilisation
  • 1 RTC (Real Time clock) sur bus I2C avec pile de sauvegarde (en option)
  • 1 EEPROM 16 Ko sur bus I2C (pour la sauvegarde des variables)
  • 1 SRAM 32Ko sur bus I2C (pour la sauvegarde des variables) (en option)
  • 8 entrées qui peuvent être utilisées en TOR ou ANA (0-10V)
  • 4 sorties à transistor qui peuvent être utilisées en TOR ou ANA (0-10V)
  • 3 sorties TOR à transistor
  • 1 sortie TOR à relais
  • 1 bouton poussoir reset (inter 2) (situé à gauche du connecteur RS232, coté cavalier)
  • 1 bouton poussoir pour chargement programme (inter 1) (situé à droite du connecteur RS232, coté relais)

2.2 Signification des LED

L1Etat de fonctionnement de l’automate
L2Présence tension 3.3 volts
L3Présence tension d’alimentation

Voir cercles rouges sur le schema de la section 2.1

2.3 Dimensions

3. Connexions

3.1 TOR

3.1.1 Entrées TOR

Plage de valeur de 0 à 1.

123456789
%I100%I101%I102%I103%I104%I105%I106%I107+Alim

3.1.2 Sorties TOR avec transistor PNP

Plage de valeur de 0 à 1

1234567
Commun 0VCommun 0V%Q100%Q101%Q102%Q103Commun 0V
8910111213
Commun 0V%Q104%Q105%Q106Commun 0VCommun 0V

3.1.3 Sorties TOR avec relais

Plage de valeur de 0 à 1.

3.2 Analogiques

3.2.1 Entrées analogiques

Plage de valeur de 0 à 10000 si configurées en tension et 0 à 20000 si configurées en courant.

123456
%IW100%IW101%IW102%IW103Commun 0VCommun 0V
7891011
%IW104%IW105%IW106%IW107Commun 0V

3.2.2 Sorties analogiques

Plage de valeur de 0 à 10000. Il ne faut pas déclarer de sortie TOR si les sorties analogiques doivent être utilisées.

12345
Commun 0VCommun 0V%QW100%QW101%QW102
678910
%QW103Commun 0VCommun 0VCommun 0VCommun 0V

3.3 Port de communication

3.3.1 COM0 RS232 et COM2 RS232

Brochage standard sur DB9.
Les broches 7 et 8 sont utilisées pour le COM2.
Ce port de communication est situé sur le connecteur DB9.

1NC6NC
2RX07TX2
3TX08RX2
4NC9NC
5GND 0V

3.3.2 COM1 RS485

3.4 Alimentation

4. Chargement d’une application

Comme il n’y a pas de carte SD, le chargement doit obligatoirement se faire par MicroCONTROL.
Avant le premier chargement, à la mise sous tension, l’automate tente de lancer l’application qui n’existe pas (paramètres par défaut) et se bloque.
Pour éviter le blocage, il faut appuyer sur le bouton PROG dans la première seconde qui suit la mise sous tension. Cela force l’automate à rester sur le moniteur. Il est ensuite possible d’agir avec MicroCONTROL.

5. Règles de sécurité

Avertissement
Si l'appareil n'est pas utilisé conformément à ces instructions, la sécurité des personnes et de l'équipement peut être compromise. Nous déclinons toute responsabilité pour tout dommage matériel ou en raison d'une manipulation inadéquate ou d'un défaut de respect des consignes de sécurité.

Les interventions sur les dispositifs doivent être faites par des employés compétents pour travailler installations électriques.

Avant toute intervention, toutes les alimentations doivent être éteintes. Les dispositifs de coupe de l’installation doivent être dimensionnés et placés selon la norme UTE C 15-100.
Pour toutes les interventions sur un dispositif installé sur une installation électrique, les équipements de protection individuelle (EPI) tel que définis par le règlement de sécurité sur les installations électriques doivent être portés par l’employé.

En cas de panne ou de dysfonctionnement, l’appareil ne doit pas être ouvert et doit être retourné à l’usine.

Observer les pictogrammes suivants:

Attention.
Sur l’étiquette du produit, ce symbole signifie que l’avis doit être consulté. Dans ce manuel, ce symbole indique des informations importantes.
Courant direct.
Ce dispositif est homologué CE et est conforme aux lignes directrices nationales et européennes.

6. Dispositif de protection

Un système de protection contre les courts-circuits doit être positionné sur le démarrage continu de 24 volts alimentant l’automate. Ces fusibles seront dimensionnés en fonction du nombre de dispositifs mis en série derrière le départ.

7. Elimination

Les vieux appareils électroniques sont des produits recyclables qui ne devraient pas être jetés dans la poubelle. Si l’appareil atteint la fin de sa vie, il doit être éliminé conformément aux réglementations légales en vigueur dans les centres de récupération de votre municipalité. L’élimination dans les ordures ménagères est interdite.

8. Nettoyage

Pour le nettoyage, utiliser un chiffon propre, sec, antistatique et non pelucheux sans produits corrosifs

9. Caractéristiques techniques

Alimentation10 à 28 V
Altitude maximale de fonctionnement2000 m
Température maximale de fonctionnement45° Celsius
Humidité maximale de fonctionnement70 %

MicroARM-A8

Dernière modification le

1. Introduction

Cette notice décrit les spécificités du MicroARM-A8.
Pour les informations communes à la programmation, voir la « notice MicroLADDER ». Pour mieux les discerner les adresses en MicroLADDER apparaissent en couleur sur les cotés des images. NC signifie non connecté.

2. Caractéristiques

2.1 Présentation de la carte

  • ARM7 LPC1788 Cortex Processor
  • 512Ko Flash (pour sauvegarder le moniteur et l’application)
  • 16Mo de RAM vidéo
  • 512Ko de RAM sauvegardée
  • 1 port RS232 TTL (COM0) pour chargement ou libre d’utilisation
  • 1 port RS485 (COM1) pour chargement ou libre d’utilisation avec cavalier résistance de terminaison
  • 1 RTC (Real Time clock) interne avec pile de sauvegarde
  • 1 connecteur pour écran graphique 2.4 pouces (320 x 240 pixels) avec rétroéclairage
  • 1 buzer
  • 1 support pour carte microSD (la carte doit être formatée en FAT32)
  • 4 interrupteurs de configuration
  • 1 connecteur pur clavier 5 touches
  • 1 capteur de pression et température monté sur la carte
  • 1 cavalier pour le reset (J1) (situé à coté du connecteur du clavier)
  • 1 bouton poussoir pour chargement programme (inter 7) (situé à coté du buzer)

2.2 Signification des LED

L1Etat de fonctionnement de l’automate (à coté du connecteur du clavier)
L2Présence carte SD (à coté connecteur de carte microSD)
L3Présence tension d’alimentation (à coté du connecteur alimentation/RS485)

Voir cercles rouges sur le schéma de la section 2.1

2.3 Dimensions

3. Connexions

Les schémas de raccordements qui suivent sont dans le même sens que le schémas de présentation de la carte en début de ce documents.

3.1 Port de Communication

3.1.1 COM0 RS232 TTL

1234
3.3VTX0RX00V

3.1.2 COM1 RS485

Voir brochage sur l’implantation. Il est possible de brancher par dessus et par dessous.

12345
Alimentation+Alimentation-AB0V
Alimentation+Alimentation-AB0V

3.2 Entrées Interface Homme Machine (IHM)

Plage de valeur de 0 à 1. La description des touches peux varier suivant le lexan du clavier.

%Q0 : marche / arrêt du rétroéclairage de l’écran
%Q1 : buzer
%QW0 : rétroéclairage de l’écran

3.3 Alimentation

Photo ARM 8

3.4 Sorites diverses

3.4.1 Capteur pression et température

Ce capteur est implanté sur la carte
%IW100 : température en dixième de degré
%IW101 : pression en hectopascal

3.4.2 Interrupteurs de configuration

Plage de valeur de 0 à 1.

4. Variables sauvegardées

Il y a une RAM sauvegardée. Cela permet de gérer des historiques

5. Règles de sécurité

Avertissement
Si l'appareil n'est pas utilisé conformément à ces instructions, la sécurité des personnes et de l'équipement peut être compromise. Nous déclinons toute responsabilité pour tout dommage matériel ou en raison d'une manipulation inadéquate ou d'un défaut de respect des consignes de sécurité.

Les interventions sur les dispositifs doivent être faites par des employés compétents pour travailler installations électriques.

Avant toute intervention, toutes les alimentations doivent être éteintes. Les dispositifs de coupe de l’installation doivent être dimensionnés et placés selon la norme UTE C 15-100.
Pour toutes les interventions sur un dispositif installé sur une installation électrique, les équipements de protection individuelle (EPI) tel que définis par le règlement de sécurité sur les installations électriques doivent être portés par l’employé.

En cas de panne ou de dysfonctionnement, l’appareil ne doit pas être ouvert et doit être retourné à l’usine.

Observer les pictogrammes suivants:

Attention.
Sur l’étiquette du produit, ce symbole signifie que l’avis doit être consulté. Dans ce manuel, ce symbole indique des informations importantes.
Courant direct.
Ce dispositif est homologué CE et est conforme aux lignes directrices nationales et européennes.

6. Dispositif de protection

Un système de protection contre les courts-circuits doit être positionné sur le démarrage continu de 24 volts alimentant l’automate. Ces fusibles seront dimensionnés en fonction du nombre de dispositifs mis en série derrière le départ.

7. Elimination

Les vieux appareils électroniques sont des produits recyclables qui ne devraient pas être jetés dans la poubelle. Si l’appareil atteint la fin de sa vie, il doit être éliminé conformément aux réglementations légales en vigueur dans les centres de récupération de votre municipalité. L’élimination dans les ordures ménagères est interdite.

8. Nettoyage

Pour le nettoyage, utiliser un chiffon propre, sec, antistatique et non pelucheux sans produits corrosifs

9. Caractéristiques techniques

Alimentation10 à 28 V
Altitude maximale de fonctionnement2000 m
Température maximale de fonctionnement45° Celsius
Humidité maximale de fonctionnement70 %

MicroARM-A9

Dernière modification le

1. Introduction

Cette notice décrit les spécificités du MicroARM-A9.
Pour les informations communes à la programmation, voir la « notice MicroLADDER ». Pour mieux les discerner, les adresses en MicroLADDER apparaissent en couleur sur les cotés des images. NC signifie non connecté.

2. Caractéristiques

2.1 Présentation de la carte

  • ARM7 LPC1788 Cortex Processor
  • 512Ko Flash (pour sauvegarder le moniteur et l’application)
  • 16Mo de RAM vidéo
  • 512Ko de RAM sauvegardée extensible à 512kW
  • 1 port RS232 (COM0) avec connecteur SubD 9 points pour la version A de la carte et en TTL pour la version B de la carte. Ce port est utilisable pour le chargement ou libre d’utilisation.
  • 1 port RS232 TTL (COM1) pour chargement ou libre utilisation
  • 1 port RS485 (COM2) pour chargement ou libre utilisation avec double connecteur et alimentation 12Vdc
  • 1 port RS485 (COM3) pour chargement ou libre utilisation avec cavalier de résistance de terminaison
  • 1 port Jtag pour le debug
  • 1 connecteur Ethernet avec 4 sockets de communication indépendants (en option)
  • 1 port USB
  • 1 RTC (Real Time clock) avec pile de sauvegarde
  • 1 EEPROM 16Ko sur bus I2C (pour la sauvegarde des variables)
  • 1 connecteur pour écran graphique tactile 4.3 pouces (480 x 272 pixels) avec rétroéclairage ou écran graphique tactile 7 pouces (800 x 480 pixels) avec rétroéclairage
  • 1 support pour carte microSD (la carte doit être formatée en FAT32)
  • Notice mArm-A9.odt 2/5
  • 2 entrées TOR
  • 2 sorties TOR à relais RT
  • 2 entrée analogique 0-10V ou 0-20mA isolées
  • 2 sortie analogique 0-20mA
  • 2 entrées de configuration sur cavalier (GC2 et GC3)(sous le processeur)
  • 1 capteur de pression et température monté sur la carte
  • 1 bouton poussoir reset (Inter1) (situé au dessus du SubD 9 points) repris sur cavalier (J2) ( situé en haut à gauche du processeur)
  • 1 cavalier pour chargement programme (J1) (situé en haut du processeur)
  • 1 bouton poussoir pour le réveil (Inter2) (situé au dessus du COM3) repris sur connecteur

2.2 Signification des LED

L1Présence carte SD (à coté connecteur de carte microSD)
L2Etat de fonctionnement de l’automate (à droite du processeur)
L3Présence tension 5V (en haut à gauche de la pile)
L5Présence tension 3.3V (en haut à gauche du connecteur Ethernet)
L8Présence tension d’entrée (à coté du bloc d’alimentation)
L6, L7, L9, L10 et L11Ethernet (à coté du connecteur Ethernet)
LD2Présence et utilisation d’une clé USB (à coté du connecteur USB)

Voir les cercles rouges sur le schéma de la section 2.1

2.3 Dimensions

3. Connexions

Les schémas de raccordements qui suivent sont dans le même sens que le schémas de présentation de la carte en début de ce documents.

3.1 TOR

3.1.1 Entrée TOR

Le bit de l’entrée monte en reliant l’entrée au 0V.

3.1.2 Sorties TOR

Il s’agit de %Q100 et %Q101. Chaque sortie possède un relais avec un contact RT.

Voir câblage sur l’implantation.

3.2 Analogiques

3.2.1 Entrées analogiques

%IW103 et IW104 : entrée analogique tension (0-10V = 0-10 000 points) ou courant (0-20mA = 0 20 000 points) configurable par cavalier.

Voir câblage et configuration sur l’implantation.

1234
EAGNDEA2GND
%IW1030V%IW1040V

3.2.2 Sorties analogiques

%QW100 et %QW101 : sorties 0-20mA. 20 000 points = 20mA.

1GND0V
2SA1%QW100
3GND0V
4SA2%QW101

3.2.3 Entrées analogiques de la carte interne

%IW100 : température du capteur implanté sur la carte en dixième de degré.
%IW101 : pression atmosphérique du capteur implanté sur la carte en hectopascal.
%IW102 : tension d’alimentation de la carte en sortie du bloc AC/DC ou en amont du bloc
DC/DC en mV

3.3 Port de Communication

3.3.1 COM0 RS232

Brochage standard sur DB9 (version A de la carte) ou voir brochage sur l’implantation (version B de la carte).

1234
V3.3TX0RX00V

3.3.2 COM1 RS232 TTL

Brochage standard sur DB9 (version A de la carte) ou voir brochage sur l’implantation (version B de la carte).

1234
V3.3TX1RX10V

3.3.3 COM2 RS485

1GND
2GND
3B
4A
512V
612V
7A
8B
9GND
10GND

Voir brochage sur l’implantation. Ce port dispose de 2 connecteurs disposant d’une alimentation 12Vdc. Sa fonction est d’alimenter 2 capteurs et de communiquer avec.

3.3.4 COM3 RS485

Voir brochage sur l’implantation

123
GND 0VBA

3.4 Interface Homme Machine (IHM)

3.4.1 Entrées

%IW0 : position horizontale du point cliqué sur l’écran.
%IW1 : position verticale du point cliqué sur l’écran.

3.4.2 Sorites

%Q0 : Marche / arrêt du rétroéclairage de l’écran.
%QW0 : Puissance du rétroéclairage de l’écran.
Sur les écrans EDT, le rétroéclairage n’est pas réglable. Il fonctionne correctement sur les écrans URT.

3.5 Alimentation

La carte peut être alimentée en alternatif ou en continu suivant le bloc d’alimentation qui est soudé sur la carte.

Note : l’autocollant attention en forme de triangle jaune est uniquement présent sur la carte quand le courant alternatif est choisi.

4. Mise en veille

La mise en veille se provoque par l’instruction :
AlimOff();

Le réveil se provoque par :
> appuie sur le BP de réveil
> RTC (il faut programmer l’heure et la date de reveil)
> par communication sur le COM3 (attention, une simple polarisation de la ligne provoque le réveil, le 0V doit être relié)

Code pour la programmation et l’activation de la date et heure de réveil :
Date d;
long t
t = … ;
d = timeToDate (t);
stRtcAlarm.cSeconde = d.sec;
stRtcAlarm.cMinute = d.min;
stRtcAlarm.cHeure = d.hour;
stRtcAlarm.cJour = d.mday;

stRtcAlarm.cMois = d.mon;
RtcWriteAlarm (KB_TRUE);
Code pour désactiver la date et heure de réveil :
RtcWriteAlarm (KB_FALSE);

5. Variables sauvegardées

Il y a une RAM sauvegardée. Cela permet de gérer des historiques

6. Choix de la version

Dans MicroLADDER, une fois le code système importé, il faut choisir la cible. Il existe 4 types de cible pour le MicroARM-A9 : μArm A9 A (7″), μArm A9 A (4″3), μArm A9 B (7″), μArm A9 B (4″3).
Le choix entre la version A et B se fait en fonction des mémoires qui sont montées sur la carte. En version A, il y a 16 Mo de RAM vidéo (IC10 en haut à droite a la référence 48LC8M16A2) et 512 ko de RAM sauvegardée (seul U2 en haut à droite est présent). En version B, il y a 32 Mo de RAM vidéo (IC10 en haut à droite a la référence 48LC16M16A2) et 1024 ko de RAM sauvegardée (U1 et U2 en haut à droite sont présents).
Le choix entre 7″ et 4″3 se fait en fonction de la taille de l’écran.

7. Règles de sécurité

Avertissement
Si l'appareil n'est pas utilisé conformément à ces instructions, la sécurité des personnes et de l'équipement peut être compromise. Nous déclinons toute responsabilité pour tout dommage matériel ou en raison d'une manipulation inadéquate ou d'un défaut de respect des consignes de sécurité.

Les interventions sur les dispositifs doivent être faites par des employés compétents pour travailler installations électriques.

Avant toute intervention, toutes les alimentations doivent être éteintes. Les dispositifs de coupe de l’installation doivent être dimensionnés et placés selon la norme UTE C 15-100.
Pour toutes les interventions sur un dispositif installé sur une installation électrique, les équipements de protection individuelle (EPI) tel que définis par le règlement de sécurité sur les installations électriques doivent être portés par l’employé.

En cas de panne ou de dysfonctionnement, l’appareil ne doit pas être ouvert et doit être retourné à l’usine.

Observer les pictogrammes suivants:

Attention.
Sur l’étiquette du produit, ce symbole signifie que l’avis doit être consulté. Dans ce manuel, ce symbole indique des informations importantes.
Courant direct.
Courant alternatif.
Ce dispositif est homologué CE et est conforme aux lignes directrices nationales et européennes.

8. Dispositif de protection

Un système de protection contre les courts-circuits doit être positionné sur le démarrage continu de 24 volts alimentant l’automate. Ces fusibles seront dimensionnés en fonction du nombre de dispositifs mis en série derrière le départ.

9. Elimination

Les vieux appareils électroniques sont des produits recyclables qui ne devraient pas être jetés dans la poubelle. Si l’appareil atteint la fin de sa vie, il doit être éliminé conformément aux réglementations légales en vigueur dans les centres de récupération de votre municipalité. L’élimination dans les ordures ménagères est interdite.

10. Nettoyage

Pour le nettoyage, utiliser un chiffon propre, sec, antistatique et non pelucheux sans produits corrosifs

11. Caractéristiques techniques

Alimentation9 à 36 V ou 110 à 230 V
Altitude maximale de fonctionnement2000 m
Température maximale de fonctionnement45° Celsius
Humidité maximale de fonctionnement70 %

MicroARM-A12

Dernière modification le

1. Introduction

Cette notice décrit les spécificités du MicroARM-A12 (SAV1288 card).
Pour les informations communes à la programmation, voir la « notice MicroLADDER ». Pour mieux les discerner les adresses en MicroLADDER apparaissent en couleur sur les cotés des images. NC signifie non connecté.

2. Caractéristiques

2.1 Présentation de la carte

Tension d’alimentation : 24V. La carte peux fonctionner en 12V, mais les sorties TOR à relais ne fonctionnent pas.

  • ARM7 LPC1788 Cortex Processor
  • 512 ko de Flash interne (pour sauvegarder le moniteur et l’application)
  • 2 Mo de RAM sauvegardée
  • 1 RTC (Real Time clock) interne au processeur avec pile de sauvegarde
  • 1 port RS232 ou RS485 (configuration par cavalier) (COM0) sur connecteur SUBD pour changement ou libre d’utilisation
  • 2 ports RS485 (COM1 et COM2) avec résistance fin de ligne pour chargement ou libre d’utilisation
  • 1 port de communication RS232 TTL (en option sur le connecteur d’extension)
  • 1 port de communication SPI (en option sur le connecteur d’extension)
  • 1 port de communication I2C (en option sur le connecteur d’extension)
  • 1 port de communication CAN (en option)
  • 1 connecteur Ethernet avec 4 sockets de communication indépendants
  • Notice mArm-A12 2/5
  • 1 module WIFI
  • 1 connecteur pour carte micro SD (la carte doit être formatée en FAT32)
  • 1 port USB
  • 4 entrées TOR 24 V
  • 2 entrées analogique (0-10 V ou 0-20 mA – 24 bits configurables par cavalier)
  • 2 sorties PWM à transistor 24 V
  • 2 sorties relais avec un point commun 250 V – 2 A
  • 2 sorties relais 160 V – 4 A
  • 1 entrée BP (sur le connecteur IHM)
  • 1 entrée CTN 10K (sur le connecteur IHM)
  • 10 sorties LED pour gérer 5 LED bicolores (sur le connecteur IHM)
  • 1 buzzer
  • 1 bouton poussoir reset (inter 2)
  • 1 bouton poussoir pour chargement programme (inter 1)

2.2 Signification des LED

L1Etat de fonctionnement de l’automate
L2Présence carte SD
L3, L4, L5, L6 et L7Ethernet (LEDs non montées)
L10Présence tension 5V
L11Activité sur port USB (LED non montée)

Voir les cercles bleu sur le schéma de la section 2.1

2.3 Dimension

3. Connexions

3.1 TOR

3.1.1 Entrées TOR

%I100 à%I103 sont des entrées TOR. L’entrée doit être reliée au +24 pour monter l’entrée à 1.

3.1.2 Sorties TOR

%QW100 et %QW101 sont des sorties PWM à transistor. La charge doit être relié entre la sortie et la masse.
%Q100 et %Q101 sont 2 sorties à relais libre de potentiel, mais il y a un contact commun aux 2 sorties.
Maximum 250 V – 2 A. Les 2 A peuvent être utilisés en même temps sur les 2 sorties.
%Q102 et %Q103 sont 2 sorties à relais libre de potentiel. Maximum 160 V – 4 A.

1 : Commun libre de potentiel, mais
commun aux 2 sorties
2 :%Q100 sortie à relais
3 :%Q101 sortie à relais
1 : Contact 1 %Q102
2 : Contact 2 %Q102
3 : Contact 1 %Q103
4 : Contact 2 %Q103
5 : %QW100
6 : %QW101
7 : + 24 V fournies par la carte
8 : Masse
9 : %I100
10 : %I101
11 : %I102
12 : %I103

3.2 Analogiques

3.2.1 Entrées analogiques

Elles peuvent être configurées en 0 – 10 V ou 0 – 20 mA à l’aide des cavaliers GC3 (pour %I100) et GC4 (pour %I101).

1 : %IW101
2 : Masse
3 : %IW102
4 : Masse

3.3 Port de communication

3.3.1 COM0 RS232 ou RS485

Le COM 0 peut être configuré en RS232 ou en RS485 à l’aide du cavalier GC7 situé 2 cm au dessus du connecteur Sub-D.
Le cavalier GC8 permet d’activer la résistance fin de ligne pour le mode RS485.

1 : Libre
2 : RX (brochage standard)
3 : TX (brochage standard)
4 : A – RS485
5 : Masse (brochage
standard)
6 : Libre
7 : RTS (brochage standard)
8 : CTS (brochage standard)
9 : B – RS485

3.3.2 COM1 et COM2 RS485

Le cavalier GC5 permet d’activer la résistance fin de ligne.
Le cavalier GC6 permet d’activer la résistance fin de ligne

COM 1
1 : +24 V fourni par
la carte
3 : Masse
5 : A
7 : B
9 : Masse
COM 2
2 : + 24 V fourni par
la carte
4 : Masse
6 : A
8 : B
10 : Masse

3.3.3 CAN Bus

Ce bus de communication est en option.

1 : CAN-H
2 : CAN-L
3 : Masse

3.3.4 Extension

Le connecteur d’extension monté en option dispose d’un port RS232 TTL, d’un bus SPI et d’un bus I2C.

1 : 5V continu
2 : Alimentation tension
3 : 33V continu
4 :0V
5 :0V
6 :0V
7 : /RFU_CS2
8 : RFU_CLK2
9 : RFU_MISO2
10 : RFU_MOSI2
11 :RX3
12 :TX3
13 RFU_SDA1:
14 : RFU_SSL1
15 : RFU_CAP0.0
16 : RFU_PWM0.6

3.4 Interface Homme Machine (IHM)

1 : %Q2 LED 1A
2 : %Q3 LED 1B
3 : %Q4 LED 2A
4 : %Q5 LED 2B
5 : %Q6 LED 3A
6 : %Q7 LED 3B
7 : %Q8 LED 4A
8 : %Q9 LED 4B
9 : %Q10 LED 5A
10 : %Q11 LED 5B
11 : Masse
12 : %I0 BP (l’entrée doit être liée à la masse pour la somme %I0)
13 : %IW100 CTN de 10 K (l’autre extrémité du CTN doit être lié à la masse). La température est lue directement en dixième de °c.
14 : Masse

%Q1 : buzzer

3.5 Alimentation

4. Règles de sécurité

Avertissement
Si l'appareil n'est pas utilisé conformément à ces instructions, la sécurité des personnes et de l'équipement peut être compromise. Nous déclinons toute responsabilité pour tout dommage matériel ou en raison d'une manipulation inadéquate ou d'un défaut de respect des consignes de sécurité.

Les interventions sur les dispositifs doivent être faites par des employés compétents pour travailler installations électriques. Avant toute intervention, toutes les alimentations doivent être éteintes. Les dispositifs de coupe de l’installation doivent être dimensionnés et placés selon la norme UTE C 15-100.
Pour toutes les interventions sur un dispositif installé sur une installation électrique, les équipements de protection individuelle (EPI) tel que définis par le règlement de sécurité sur les installations électriques doivent être portés par l’employé.

En cas de panne ou de dysfonctionnement, l’appareil ne doit pas être ouvert et doit être retourné à l’usine.

Observer les pictogrammes suivants:

Attention.
Sur l’étiquette du produit, ce symbole signifie que l’avis doit être consulté. Dans ce manuel, ce symbole indique des informations importantes.
Courant direct.
Ce dispositif est homologué CE et est conforme aux lignes directrices nationales et européennes.

5. Dispositif de protection

Un système de protection contre les courts-circuits doit être positionné sur le démarrage continu de 24 volts alimentant l’automate. Ces fusibles seront dimensionnés en fonction du nombre de dispositifs mis en série derrière le départ.

6. Elimination

Les vieux appareils électroniques sont des produits recyclables qui ne devraient pas être jetés dans la poubelle. Si l’appareil atteint la fin de sa vie, il doit être éliminé conformément aux réglementations légales en vigueur dans les centres de récupération de votre municipalité. L’élimination dans les ordures ménagères est interdite.

7. Nettoyage

Pour le nettoyage, utiliser un chiffon propre, sec, antistatique et non pelucheux sans produits corrosifs

8. Caractéristiques techniques

Alimentation18 à 28 V
Altitude maximale de fonctionnement2000 m
Température maximale de fonctionnement45° Celsius
Humidité maximale de fonctionnement70 %

MicroARM-A13

Dernière modification le

1. Introduction

Cette notice décrit les spécificités du MicroARM-A13 (SAV1312 card).
Pour les informations communes à la programmation, voir la « notice MicroLADDER ». Pour mieux les discerner les adresses en MicroLADDER apparaissent en couleur sur les cotés des images. NC signifie non connecté.

2. Caractéristiques

2.1 Présentation de la carte

Le boîtier est constitué de 2 cartes reliés par un bus interne de 24 broches. Ces 2 cartes sont indisssociables.

Il est possible d’intercaler une troisième carte entre les deus cartes principales. Cette carte permet d’ajouter la fonction LoRa / Sigfox. Elle est aussi raccordée sur le bus interne.

  • Tension d’alimentation : 10-28 VDC
  • Processeur Cortex LPC1768FBD
  • 512 ko de Flash interne (pour sauvegarder le moniteur et l’application)
  • 32 ko de RAM interne
  • TBC de Flash externe sur bus SPI utilisé par le système et l’application
  • 128 ko se SRAM externe sur bus SPI
  • Alimentation sauvegardé par super capacité d’environ une semaine de durée
  • 1 RTC (Real Time clock) interne au processeur avec alimentation sauvegardée par super capacité d’environ une semaine de durée
  • 1 port RS232 TTL (COM0) pour chargement ou libre d’utilisation
  • 1 port RS485 (COM1) et COM2) pour chargement ou libre d’utilisation
  • 1 port RS232 ou RS485 (configurable par logiciel) (COM2) pour chargement ou libre d’utilisation
  • 1 module de communication LoRa / Sigfox sur COM3
  • 1 module de communication Bluetooth
  • 1 capteur de température interne
  • 1 bouton poussoir (inter3) sur la face avant repris sur cavalier JP2
  • 2 cavalier de configuration (J3 et J4) libre pour l’application (grain de café sur la carte principale)
  • 2 entrées TOR 24 V
  • 1 sortie TOR à relais inverseur RT 10A – 250V
  • 1 entrée analogique PT1000
  • 2 entrées analogique (0-10 V ou 0-20 mA – 12 bits – configurable par logiciel)

2.2 Signification des LED

Repère du lexanRepère du schéma électroniqueDésignation
PWRL2Présence tension 3.3V
RUNL1Etat de fonctionnement de l’automate
L1L3LED 1 bicolore libre pour l’application
L2L4LED 2 bicolore libre pour l’application

2.3 Dimension

3. Connexions

3.1 TOR

3.1.1 Entrées TOR

%I100 à %I101 : entrées TOR. L’entrée doit être reliée au +24 pour monter l’entrée à 1.

%I102 à %I103 : entrées de configuration (grain de café à souder sur le côté de la carte principale)

3.1.2 Sorties TOR

%Q100 : sortie à relais inverseur RT.

3.2 Entrées Analogiques

%IW100 : température externe en connectant un capteur PT1000. Valeur exprimée en dixième de degré.

%IW101 : température interne. Valeur exprimée en dixième de degré.

%IW102 à %IW103 : entrées analogiques (0-10V ou 0-20mA, configurable par logiciel).

3.3 Port série

Le port COM0 est présent sur le bus d’extension. Il est en RS232 TTL.

Le port COM1 est présent sur le bornier. Il est en RS485.

Le port COM2 est présent sur le bornier. Il est en RS232 ou RS485 (configuration logiciel).

Le port COM3 est interne. Il permet de communiquer avec les modules LoRa / Sigfox ou Bluetooth (les 2 modules sont exclusifs).

3.4 Extension

Le bus extension est situé sur le coté du boitier, sur l’extérieur de la carte principale. Il permet de connecter des modules d’extension.

1 : +5 V
2 : +24 V
3 : 0 V
4 : 0 V
5 : D7
6 : D6
7 : D5
8 : D4
9 : D3
10 : D2
11 : D1 = COM 0 TX
12 : D0 = COM 0 RX
13 : 0V
14 : 3.3 V
15 : /RESET
16 : /PROG

3.5 Interface Homme Machine (IHM)

%IO : Bouton poussoir
%QO : Vert de la LED 1
%Q1 : Rouge de la LED 1
%Q2 : Vert de la LED 2
%Q3 : Rouge de la LED 2

Les 2 couleurs d’une même LED peuvent être commandées en même temps. La couleur obtenue est un mélange des deux couleurs

4. Mémoire flash

Cette mémoire est utilisée en partie par le système (étalonnage des entrées analogiques, variables systèmes, …) et l’application.

Les variables sauvegardées sont stockées dans cette mémoire flash. Il faut utiliser le bit %S18 (SAV_VARS) pour provoquer la mémorisation.

5. Règles de sécurité

Avertissement
Si l'appareil n'est pas utilisé conformément à ces instructions, la sécurité des personnes et de l'équipement peut être compromise. Nous déclinons toute responsabilité pour tout dommage matériel ou en raison d'une manipulation inadéquate ou d'un défaut de respect des consignes de sécurité.

Les interventions sur les dispositifs doivent être faites par des employés compétents pour travailler installations électriques. Avant toute intervention, toutes les alimentations doivent être éteintes. Les dispositifs de coupe de l’installation doivent être dimensionnés et placés selon la norme UTE C 15-100.

Pour toutes les interventions sur un dispositif installé sur une installation électrique, les équipements de protection individuelle (EPI) tel que définis par le règlement de sécurité sur les installations électriques doivent être portés par l’employé.

En cas de panne ou de dysfonctionnement, l’appareil ne doit pas être ouvert et doit être retourné à l’usine.

Observer les pictogrammes suivants :

Attention.
Sur l’étiquette du produit, ce symbole signifie que l’avis doit être consulté. Dans ce manuel, ce symbole indique des informations importantes.
Courant direct.
Ce dispositif est homologué CE et est conforme aux lignes directrices nationales et européennes.

6. Dispositif de protection

Un système de protection contre les courts-circuits doit être positionné sur le démarrage continu de 24 volts alimentant l’automate. Ces fusibles seront dimensionnés en fonction du nombre de dispositifs mis en série derrière le départ.

7. Elimination

Les vieux appareils électroniques sont des produits recyclables qui ne devraient pas être jetés dans la poubelle. Si l’appareil atteint la fin de sa vie, il doit être éliminé conformément aux réglementations légales en vigueur dans les centres de récupération de votre municipalité. L’élimination dans les ordures ménagères est interdite.

8. Nettoyage

Pour le nettoyage, utiliser un chiffon propre, sec, antistatique et non pelucheux sans produits corrosifs

9. Caractéristiques techniques

Alimentation12 à 28 V
Altitude maximale de fonctionnement2000 m
Température maximale de fonctionnement45° Celsius
Humidité maximale de fonctionnement70 %

MicroARM-H1

Dernière modification le

1. Introduction

Cette notice décrit les spécificités du MicroARM-H1. Pour les informations communes à la programmation, voir la notice MicroLADDER.

2. Caractéristiques

2.1 Présentation de la carte

  • Tension d’alimentation 18-28V
  • Processeur Cortex LPC1788FBD
  • 3 ports RS232 TTL (COM0, COM2,COM3)
  • 1 port RS485 COM1
  • 1 connecteur d’extension
  • 1 carte SD
  • 2 connecteurs Ethernet
  • 1 bouton poussoir reset
  • 1 bouton poussoir pour chargement programme

2.2 Signification des LEDs

L1 : État de fonctionnement de l’automate

L2 : Présence de carte SD

L3 : présence tension

3. Entrées/sorties

3.1 COM 1 RS485

La résistance de fin de ligne peut être activé avec le cavalier GC3.

3.2 COM 0, COM 2, COM 3

Les ports de communication 0, 2 et 3 sont sous forme RS232 TTL.

3.3 ETH 1 et ETH 2

Les connecteurs Ethernet 1 et 2 sont distinct et on une adresse MAC chacun. Ils peuvent prendre deux adresses IP différents. Le connecteur 1 est compatible DHCP.

MicroARM-A2

Dernière modification le

1. Introduction

Cette notice décrit les spécificités du MicroARM-A1.
Pour les informations communes à la programmation, voir la « notice MicroLADDER ». Pour mieux les discerner les adresses en MicroLADDER apparaissent en couleur sur les cotés des images. NC signifie non connecté.

2. Caractéristiques

2.1 Présentation de la carte UC

  • Processeur Arm 7 LPC2478FBD
  • 512Ko Flash (pour sauvegarder le moniteur et l’application)
  • 16Mo de RAM vidéo sauvegardée
  • 512Ko de RAM sauvegardée
  • 1 port RS232 (COM 0) avec connecteur SubD9 points pour chargement ou libre d’utilisation
  • 1 port RS232 TTL (COM1) pour chargement ou libre d’utilisation
  • 2 ports RS485 (COM2 et COM3) pour chargement ou libre d’utilisation
  • 1 connecteur Ethernet avec 4 sockets de communication indépendants (en option)
  • 1 port USB
  • 1 RTC (Real Time clock) sur bus I2C avec pile de sauvegarde
  • 1 EEPROM 16 Ko sur bus I2C (pour la sauvegarde des variables)
  • 1 connecteur pour écran graphique tactile 7 pouces (800 x 480 pixels) ou écran graphique tactile 4.3 pouces
  • 1 buzer
  • 1 connecteur pour carte SD (la carte doit être formatée en FAT32)
  • 4 entrées TOR
  • 2 sorties TOR PWM à transistor
  • 1 bouton poussoir reset (inter 2) repris sur cavalier J2
  • 1 bouton poussoir pour chargement programme (inter 1) repris sur cavalier J1
  • 1 connecteur pour clavier (4 colonnes – 6 lignes)

2.2 Signification des LED

LD1Etat de fonctionnement de l’automate
L2Présence carte SD
L3, L4, L6, L7 et L8Ethernet
L5Présence de tension d’alimentation
L11Présence tension 5 volts
LD2USB

Voir cercles bleu sur le schéma de la section 2.1

2.3 Présentation de la carte ES

  • 1 EEPROM 16 Ko sur bus I2C (pour la sauvegarde des variables)
  • 16 entrées TOR
  • 16 sorties TOR à relais (250V – 10A) ou transistor (choix à la fabrication)
  • 8 entrées analogique 0-10V, 0-20mA ou PT100 (configuration par cavalier) (12 bits)
  • 2 sorties analogique 0-10V (12 bits)

2.4 Signification des LED

L1Présence tension 12 volts
L5Présence tension 5 volts

2.5 Dimensions

3. Connexions

3.1 TOR

3.1.1 Entrées TOR

12345678
%I123%I122%I121%I120%I119%I118%I117%I116
910111213141516
%I115%I114%I113%I112%I111%I110%I109%I108

3.1.2 Entrées TOR rapides

1234
%I103%I102%I101%I100

3.1.2 Sorties TOR

12345678
%Q107%Q106%Q105%Q104%Q103%Q102%Q101%Q100
910111213141516
%Q115%Q114%Q113%Q112%Q111%Q110%Q109%Q108

3.1.3 Sorties TOR rapides

%QW102 (1) à %QW103 (2) : Sorite PWM

3.2 Analogiques

3.2.1 Entrées analogiques

De %IW100 à %IW107 : entrée analogique 0-20mA, 0-10V ou PT100. Jusqu’à fin 2013, la plage de mesure des entrées analogiques configurées en PT100 était -50 / 150 °C. A partir de janvier 2014, le jeu de résistances des cartes et le code système ont été modifiés pour avoir une plage de 0 / 350 °C.

12345678
IW7IW6IW5IW4IW3IW2IW1IW0
%IW107%IW106%IW105%IW104%IW103%IW102%IW101%IW100

3.2.2 Sorties analogiques

%QW100 (1) %QW101 (2) : sorties analogiques 0-10V

3.3 Port de communication

3.3.1 COM0 RS232

Brochage standard sur la DB9.

1NC6NC
2RX07NC
3TX08NC
4NC9NC
50V

3.3.2 COM2 et COM3 RS485

3.3.3 Port Ethernet

3.4 Interface Homme Machine (IHM)

%IW0 : position horizontale du point cliqué sur l’écran et %IW1 : position verticale du point cliqué sur l’écran
%Q0 : activation du rétro éclairage
%Q1 : buzzer
%QW0 : puissance du rétro éclairage

3.5 Alimentation

3.6 Clavier

De %IO à %I24

4. Variables sauvegardées

Il y a une RAM sauvegardée. Cela permet de gérer des historiques.

4.1 Réservation de mémoire dans RAM vidéo

Retour = GfxCreateArray(paramètre1, paramètre2)
Cette fonction permet de réserver de la mémoire en RAM vidéo.
Retour : variable de type pointeur (unsigned char *). Pour réserver de la mémoire pour un autre type de variable, il faut faire un cast.
Paramètre1 : longueur en octet pour 1 élément.
Paramètre2 : nombre d’éléments à réserver.
Exemple :
char Texte[20];
Texte = (char *) GfxCreateArray(1, 20);

5. Règles de sécurité

Avertissement
Si l'appareil n'est pas utilisé conformément à ces instructions, la sécurité des personnes et de l'équipement peut être compromise. Nous déclinons toute responsabilité pour tout dommage matériel ou en raison d'une manipulation inadéquate ou d'un défaut de respect des consignes de sécurité.

Les interventions sur les dispositifs doivent être faites par des employés compétents pour travailler installations électriques. Avant toute intervention, toutes les alimentations doivent être éteintes. Les dispositifs de coupe de l’installation doivent être dimensionnés et placés selon la norme UTE C 15-100.
Pour toutes les interventions sur un dispositif installé sur une installation électrique, les équipements de protection individuelle (EPI) tel que définis par le règlement de sécurité sur les installations électriques doivent être portés par l’employé.

En cas de panne ou de dysfonctionnement, l’appareil ne doit pas être ouvert et doit être retourné à l’usine.

Observer les pictogrammes suivants:

Attention.
Sur l’étiquette du produit, ce symbole signifie que l’avis doit être consulté. Dans ce manuel, ce symbole indique des informations importantes.
Courant direct.
Ce dispositif est homologué CE et est conforme aux lignes directrices nationales et européennes.

6. Dispositif de protection

Un système de protection contre les courts-circuits doit être positionné sur le démarrage continu de 24 volts alimentant l’automate. Ces fusibles seront dimensionnés en fonction du nombre de dispositifs mis en série derrière le départ.

7. Elimination

Les vieux appareils électroniques sont des produits recyclables qui ne devraient pas être jetés dans la poubelle. Si l’appareil atteint la fin de sa vie, il doit être éliminé conformément aux réglementations légales en vigueur dans les centres de récupération de votre municipalité. L’élimination dans les ordures ménagères est interdite.

8. Nettoyage

Pour le nettoyage, utiliser un chiffon propre, sec, antistatique et non pelucheux sans produits corrosifs

9. Caractéristiques techniques

Alimentation18 à 28 V
Altitude maximale de fonctionnement2000 m
Température maximale de fonctionnement45° Celsius
Humidité maximale de fonctionnement70 %

MyHome&me

Dernière modification le

1. Introduction

1.1 Lecteurs ciblés

Cette documentation est à destination des utilisateurs de l’application MyHome&me, permettant de la visualisation de données collectées par leur armoire AEA.

2. Présentation de l’application

MyHome&me est une application web permettant de visualiser des données collectées sur une installation photovoltaïque dont le système d’autoconsommation est piloté par une armoire AEA développée par Sirea.

L’interface se compose de trois parties :

  • le tableau de bord où sont affichées les données collectées en temps réel
  • l’historique où sont consultables les données journalières enregistrées
  • la barre de menu

2.1 Le tableau de bord

Le tableau de bord concerne l’affichage de données collectées en temps réel afin de se rendre compte du comportement instantané de l’installation. Le délai de rafraîchissement de chaque valeur est de quelques secondes.

Capture d’écran du tableau de bord de l’application MyHome&me
Capture d’écran du tableau de bord de l’application MyHome&me

2.1.1 Visuel de l’armoire

La photo de l’armoire AEA au centre de l’écran est une image non-contractuelle. Elle permet de représenter schématiquement de quelle façon opère les flux d’énergie.

2.1.2 Réseau

L’encart “Réseau” affiche en temps réel la valeur concernant la puissance électrique mesurée sur le raccordement au réseau électrique et dont les données sont collectées via le transducteur situé en sortie du TGBT (tableau électrique).

La barre de progression indique le sens dans lequel se dirige le flux d’énergie. Lorsqu’elle est verte, cela signifie que l’énergie est soutirée du réseau électrique. Lorsqu’elle est rouge, cela signifie que l’énergie est renvoyée sur le réseau.

2.1.3 Production PV

L’encart “Production PV” affiche en temps réel la valeur concernant la puissance du courant électrique continue (DC), avant conversion en courant alternatif (AC), mesurée dont les données sont collectées depuis l’onduleur situé dans l’armoire AEA.

La barre de progression indique le sens dans lequel se dirige le flux d’énergie. Lorsqu’elle est verte, cela signifie que l’énergie provient des panneaux photovoltaïque. Cette flèche ne peut en théorie pas changer de couleur ni de sens.

2.1.4 Stockage batterie

L’encart “Stockage batt.” affiche en temps réel la valeur concernant la puissance du courant électrique continue (DC), avant conversion en courant alternatif (AC), mesurée dont les données sont collectées depuis le BMS (système de gestion de batterie) situé dans l’armoire AEA.

Le pourcentage d’énergie stockée est également fourni par le BMS et affiché tel quel sur l’interface.

La barre de progression indique le sens dans lequel se dirige le flux d’énergie. Lorsqu’elle est verte, cela signifie que l’énergie est acheminée vers la/les batterie(s) pour y être stockée. Lorsqu’elle est rouge, cela signifie que l’énergie est soutirée du stockage sur batterie.

2.1.5 Consommation

L’encart « Consommation » affiche en temps réel la puissance consommée estimée à partir de la puissance électrique soutirée du réseau cumulée à celle fournie par l’armoire AEA.. Les données de l’injection par l’armoire sont collectées via un transducteur situé dans l’armoire AEA.

La barre de progression indique le sens dans lequel se dirige le flux d’énergie. Lorsqu’elle est verte, cela signifie que l’armoire AEA soutient la demande en énergie nécessaire pour couvrir la consommation électrique. Cette barre de progression ne peut en théorie pas changer de couleur ni de sens.

2.2 Historique

2.2.1 Courbes

L’historique des courbes permet d’accéder à une vue d’ensemble de la journée sélectionnée afin de consulter les différentes courbes d’évolution des données de l’installation.

L’interface de cette page se compose de trois parties :

  • le sélectionneur de date
  • le graphique “Puissance”
  • le graphique “Consommations détaillées (superposées)”
2.2.1.1 Sélectionneur de date

La date sélectionnée par défaut est celle de la journée en cours. Il est possible de choisir une autre date pour faire varier les données affichées sur la page en cliquant sur le sélectionneur de date en haut à gauche, dans la barre blanche.

Capture d’écran du sélectionneur de date de l’application MyHome&me
Capture d’écran du sélectionneur de date de l’application MyHome&me

Cette action ouvre une fenêtre popup dans laquelle sont proposées trois options :

  • afficher la date du jour
  • afficher la date de hier
  • afficher une autre date

Le choix d’une autre date ouvrira une nouvelle fenêtre popup qui permet de changer l’année, le mois et le jour afin de trouver rapidement la date souhaitée. Cliquer sur “Ok” pour confirmer son choix.

Capture d’écran du sélectionneur de date de l’application MyHome&me
Capture d’écran du sélectionneur de date de l’application MyHome&me

Pour confirmer la date sélectionnée et mettre à jour les données de la page, cliquer sur “Valider”.

Il est possible de changer la date affichée en glissant vers le jour précédent ou le jour suivant respectivement grâce aux boutons ronds et fléchés situés à gauche et à droite du graphique.

Lorsque un changement de date est effectué, des cookies sont enregistrés afin de pouvoir afficher les données à la date sélectionnée lors de la dernière utilisation de l’application, dans un délai maximum de trois jours. Au-delà, les cookies sont supprimés automatiquement.

2.2.1.2 Graphique des courbes
Capture d’écran d’historique d’une journée sur l’application MyHome&me
Capture d’écran d’historique d’une journée sur l’application MyHome&me

Le premier graphique de la page affiche par défaut cinq courbes représentant l’évolution dans le temps les données de l’armoire :

Axe de gauche (en kW)

  • “Consommation” : puissance consommée calculée par la somme de ce qui est soutiré sur le réseau en plus de ce qui est injecté par l’armoire (courant AC)
  • “Photovoltaïque” : puissance des panneaux photovoltaïques (courant DC)
  • “Réseau” : puissance du réseau électrique (courant AC). Valeur positive = soutirage du réseau / valeur négative = injection sur le réseau (pour les application avec revente du surplus)
  • “Stockage batt.” : puissance du stockage sur batterie (courant DC). Valeur positive = décharge de la batterie / valeur négative = charge de la batterie

Axe de droite (en %)

  • “État de charge batt.” : état de charge de la batterie

L’armoire permet d’effectuer une mesure et de capter instantanément sa fluctuation, ce qui peut impliquer un grand nombre de points minutes. Pour des raisons d’optimisation des performances de l’application, chaque courbe affiche 1 point (dont la valeur est moyennée) toutes les 10 minutes. Ainsi, une journée est représentée par 144 points moyennés et affichés pour chaque courbe.

Ces données sont actualisées à chaque rafraichissement de la page ou au changement de date.

Il est possible de masquer une ou plusieurs courbes en cliquant simplement sur l’élément concerné dans la légende en haut du graphique.

2.2.1.3 Graphique des consommations détaillées
Capture d’écran du graphique des consommations détaillées sur l’application MyHome&me
Capture d’écran du graphique des consommations détaillées sur l’application MyHome&me

Ce graphique affiche les courbes de puissance des différents points de consommation mesurés par votre équipement. Cette option n’est pas disponible en standard, veuillez contacter le support.

2.2.2 Bilans

Le bilan est situé dans la partie “Historique”. Il permet de comparer sur la journée les différentes quantités d’énergies (en kWh) sur différentes périodes.

L’interface de cette page se compose de quatre parties :

  • le sélectionneur de date
  • l’encart “Sur la période”
  • le graphique”Bilans”
  • le graphique “Consommations détaillées (superposées)”
2.2.2.1 Sélectionneur de date

Le sélectionneur de date fonctionne de la même façon que pour l’historique des courbes, mais permet en plus de sélectionner une période de type “mois” ou “année”.

2.2.2.2 Encart “Sur la période”
Capture d’écran de l’encart du bilan périodique de l’application MyHome&me
Capture d’écran de l’encart du bilan périodique de l’application MyHome&me

Cet encart affiche des valeurs calculées sur la base de la période sélectionnée dans le sélecteur de date. Les valeurs calculées sont les suivantes :

  • “Consommation totale” : consommation totale d’énergie en kWh (AC)
  • “Production photovoltaïque” : production d’énergie d’origine photovoltaïque en kWh (DC)
  • “Conso. fournie par le réseau” :  consommation d’énergie fournie par le réseau en kWh (AC)
  • “Énergie fournie par stockage” : consommation d’énergie provenant de la batterie en kWh (DC)
  • “Énergie stockée” : quantité d’énergie envoyée dans la batterie en kWh
  • “Taux d’autoconsommation” :  part de la production photovoltaïque consommée sur place par rapport à l’ensemble de la production, en %
  • “Taux de couverture” :  part de la production photovoltaïque couvrant la consommation, en % 
  • “Vente au réseau” : quantité d’énergie envoyée sur le réseau en kWh (AC). La valeur en euros est calculée sur la base du prix de vente de l’électricité renseigné dans la page “Mon compte”, dans la rubrique “Équipements” (colonne “Tarif de vente”).

L’encart montre également à droite un diagramme circulaire qui correspond à la répartition des différents points de consommation (% sur la base des kWh consommés sur la période).

2.2.2.3 Graphique “Bilans”
Capture d’écran du diagramme en barre des bilans de l’application MyHome&me
Capture d’écran du diagramme en barre des bilans de l’application MyHome&me

Les valeurs sont calculées par le système de supervision sur la base des puissances relevées et cumulées dans le temps (par tranche horaire). Pour des raisons d’optimisation des performances de l’application, le pas de considération à partir duquel est affiché une barre est de 0,1 kWh. Ainsi, une journée est représentée par 24 emplacements correspondant aux 24 heures, un mois par 28 à 31 emplacements selon le mois correspond aux journées, et une année est représentée par 12 emplacements correspondant aux 12 mois.

Ces données sont actualisées à chaque rafraichissement de la page ou au changement de date et il est possible de masquer un ou plusieurs jeux de barres en cliquant simplement sur l’élément concerné dans la légende en haut du graphique.

Le graphique affiche par défaut quatre jeux de barres représentant le cumul sur la période de :

  • “Consommation totale” : correspond au cumul de l’énergie consommée. Elle est calculée en agrégeant la puissance mesurée en sortie du TGBT (tableau électrique) à celle injectée par l’armoire AEA.
  • “Production PV” : correspond au cumul de l’énergie produite par l’installation photovoltaïque. Elle est mesurée et fournie par l’onduleur à l’intérieur de l’armoire..
  • “Fournie par stockage” : correspond au cumul de l’énergie fournie par les batteries. Elle est calculée en agrégeant la puissance mesurée en sortie de la batterie.

“Réseau” : correspond au cumul de l’énergie consommée fournie par le réseau électrique. Elle est calculée en agrégeant la puissance électrique mesurée sur le raccordement au réseau électrique et dont les données sont collectées via le transducteur situé en sortie du TGBT (tableau électrique).

2.2.2.4 Graphique “Consommations détaillées (superposées)”
Capture d’écran du diagramme en barre des consommations détaillées de l’application MyHome&me
Capture d’écran du diagramme en barre des consommations détaillées de l’application MyHome&me

Comme pour le graphique précédent, les valeurs sont calculées par le système de supervision sur la base des puissances relevées et cumulées dans le temps (par tranche horaire). Pour des raisons d’optimisation des performances de l’application, le pas de considération à partir duquel est affiché une barre est de 0,1 kWh. Ainsi, une journée est représentée par 24 emplacements correspondant aux 24 heures, un mois par 28 à 31 emplacements selon le mois correspond aux journées, et une année est représentée par 12 emplacements correspondant aux 12 mois.

Ces données sont actualisées à chaque rafraichissement de la page ou au changement de date et il est possible de masquer un ou plusieurs jeux de barres en cliquant simplement sur l’élément concerné dans la légende en haut du graphique.

2.2.3 Rapports

Le générateur de rapport est situé dans la partie “Historique”. Il permet de programmer des rapports envoyés automatiquement par e-mail sur différentes périodes.

L’interface de cette page se compose de quatre parties :

  • l’aperçu du rapport selon la période choisie
  • la définition de la fréquence d’envoi
  • le définition du nombre d’usager
  • la définition des destinataires des rapports
Capture d'écran de la configuration des rapports dans MyHome&me
Capture d’écran de la configuration des rapports dans MyHome&me
2.2.3.1 aperçu du rapport

Il est possible d’obtenir un aperçu du rapport avec les données de la période sélectionnée dans le sélectionneur de date, en haut à gauche (comme pour la rubrique « Courbes » et « Bilans ».

Les choix possibles sont :

  • Journalier : aujourd’hui / hier
  • Mensuel : mois actuel / mois précédent
  • Annuel : année actuelle / année précédente
2.2.3.2 Fréquence d’envoi

Il est possible d’activer 3 types de rapports :

  • le rapport journalier : il est envoyé le lendemain, avec les données cumulées de la veille, en comparaison avec la même journée de l’année précédente
  • le rapport mensuel : il est envoyé le 1er jour du mois suivant, avec les données cumulées du mois précédent, en comparaison avec le même mois de l’année dernière
  • le rapport annuel : il est envoyé le 1er janvier de l’année suivante, avec les données cumulées de l’année précédente, en comparaison avec l’année d’avant

Pour activer le rapport, il suffit de cliquer sur le menu déroulant et de sélectionner « Activer » le ou les rapports souhaités.

2.2.3.3 nombre d’usagers

Il est possible de renseigner un nombre dans le champ « Nombre d’usagers » afin de calculer automatiquement le nombre de kWh consommés par personne.

2.2.3.4 Destinataires

Il est un possible de renseigner un ou plusieurs e-mails (séparés d’une virgule) qui recevront les rapports activés selon la fréquence souhaitée.

2.3 La barre de menu

La barre de menu permet de faciliter la navigation au sein de l’application. Pour un utilisateur ayant les droits d’accès à une seule installation, elle est composée du logo de l’application, du lien de menu pour accéder au tableau de bord, du lien de menu pour accéder à l’historique, du nom d’utilisateur actuellement connecté et du bouton de déconnexion.

Pour les utilisateurs ayant les droits d’accès à plusieurs installations, un menu déroulant figure entre le logo et le lien de menu d’accès au tableau de bord. Il permet de sélectionner parmi une liste d’installations autorisées d’accès celle dont il souhaite afficher les données.

Pour les utilisateurs ayant un QR code SmartLife, celui est affiché à droite de l’icône des notifications.

Icône pour configurer la domotique avec Tuya SmartLife sur MyHome&me
Capture d’écran du QR code pour configurer la domotique avec Tuya SmartLife sur MyHome&me
Capture d’écran du QR code pour configurer la domotique avec Tuya SmartLife sur MyHome&me

2.4 Les modes de pilotage automatique

MyHome&me dispose de modes de pilotage automatique qui sont activables depuis l’icône d’une maison avec une horloge dans le menu principal.

capture decran modes de pilotage automatique menu sur myhomeme
Information
Ces modes de pilotage automatique ne sont disponibles que pour les installations raccordées au réseau.

Après avoir cliqué sur l’icône dédié aux modes de pilotage, un fenêtre apparait avec les modes disponibles.

Capture d’écran des modes de pilotage automatique sur MyHome&me
Capture d’écran des modes de pilotage automatique sur MyHome&me
Attention
Vous devez avoir renseigné votre puissance souscrite au réseau pour pouvoir activer l'un des modes disponible. Vous pouvez le faire sur la page "Mon compte", dans la rubriques "Mes équipements".

2.4.1 Le mode Ecowatt

L’armoire AEA on-grid (raccordée réseau) dispose d’un mode Ecowatt activable depuis le menu principal. La finalité de cette fonctionnalité est de réduire l’impact sur le réseau électrique lorsque RTE annonce au travers de son portail Ecowatt des tensions et des risques de coupure sur le réseau électrique.

Une fois activé, le mode de pilotage Ecowatt permet de surveiller automatiquement, sur les 24 heures à venir, l’annonce d’une période « rouge » par RTE.

Lorsqu’une période rouge est détectée, l’armoire AEA va forcer la charge des batteries avec le réseau, à hauteur de la puissance souscrite (en complément du surplus photovoltaïque), pendant un nombre d’heures égal au nombre d’heures “rouges” annoncées par RTE.

Une fois arrivé sur la période rouge concernée, la charge forcée des batteries par l’armoire est arrêtée et l’intégralité de l’énergie stockée est restituée pour couvrir la consommation du site équipé en sollicitant le moins possible le réseau.

Les périodes sont visibles directement depuis l’application MyHome&me sur une période de 96 heures (le pilotage automatique n’anticipe que sur les 24 heures à venir).

Capture d'écran du mode Ecowatt sur MyHome&me
Capture d’écran du mode Ecowatt sur MyHome&me

2.4.2 Le mode Tempo

L’armoire AEA on-grid (raccordée réseau) dispose d’un mode Tempo activable depuis le menu principal. Cette fonctionnalité est intéressante si vous disposez d’un contrat Tempo d’EDF. La finalité de cette fonctionnalité est de vous aider à réduire votre facture d’électricité en rechargeant vos batteries pendant les heures creuses définies par le contrat Tempo d’EDF (de 22h00 à 6h00).

Une fois activé, le mode de pilotage Tempo permet de surveiller automatiquement, sur les 24 heures à venir, l’annonce d’une journée « rouge » par EDF.

Lorsqu’une période rouge est détectée, l’armoire AEA va programmer la charge des batteries avec le réseau, à hauteur de la puissance souscrite, pendant la période creuse (de 22h00 à 6h00), de sorte à avoir la batterie chargée à 100% au début de la période pleine (de 6h00 à 22h00).

Une fois arrivé sur en période pleine concernée, la charge forcée des batteries par l’armoire est arrêtée et l’intégralité de l’énergie stockée est restituée pour couvrir la consommation du site équipé en sollicitant le moins possible le réseau.

Les journée sont visibles directement depuis l’application MyHome&me :

Capture d'écran du mode Tempo sur MyHome&me
Capture d’écran du mode Tempo sur MyHome&me

2.4.3 Le mode Plages

L’armoire AEA on-grid (raccordée réseau) dispose d’un mode Plages horaires activable depuis le menu principal. Cette fonctionnalité permet de programmer des périodes de charges de vos batteries sur le réseau.

Une fois le mode activé en cliquant sur le bouton « Activer Plages », la fenêtre vous propose le bouton « Ajouter une plage ». Cliquez dessus pour ajouter autant de plage que vous le souhaitez.

Le menu déroulant « Jour de la semaine » vous permet de sélectionner le jour de la semaine pour lequel vous souhaitez que le programme soit appliqué. Par exemple si vous sélectionner « Lundi », la programmation de votre charge batterie se fera tous les lundi tant que le mode Plages horaires est activé.

Le champ de saisie « Heures de début » correspond à l’heure à laquelle vous souhaitez commencer à charger vos batteries sur le réseau.

Le champ de saisie « Durée » correspond au nombre d’heure que devra durer la charge de la batterie à partir de l’heure de début renseignée. Une fois sélectionné, la colonne « Date de fin » se rempli automatiquement en calculant à quelle heure se terminera votre charge des batteries sur le réseau.

Le bouton bleu « Dupliquer » vous permet de dupliquer la ligne de programmation correspondante, avec les mêmes paramètres.

Le bouton rouge « Supprimer » vous permet de supprimer la ligne de programmation correspondante.

Pour que vos modifications soient prise en compte, il est nécessaire de cliquer sur le bouton « Sauvegarder » à côté du bouton « Ajouter une plage ».

Information
Lorsque vous choisissez de désactiver le mode Plage horaires, les plages horaires ne seront plus prise en compte, mais elle ne seront pas supprimée pour autant. Ainsi, si vous souhaitez réactiver le mode Plages horaires ultérieurement, vous retrouverez les plages horaires que vous aviez défini avant de désactiver ce mode.
Capture d’écran des programmations du mode Plages horaires sur MyHome&me
Capture d’écran des programmations du mode Plages horaires sur MyHome&me

2.5 Les messages d’information

L’application informe en temps réel l’utilisateur d’éléments liés à la navigation ou au comportement de l’armoire.

Ainsi, des messages d’information avec un fond de couleur visible peuvent être affichés sous le menu de chaque page de l’application :

Capture d’écran d’un message d’information
Capture d’écran d’un message

Voici la signification du code couleur utilisé en fond des messages pour qualifier le type d’information :

CouleurSignification
VertInformation de validation ou de réalisation avec succès d’une action.
OrangeInformation concernant un problème de communication et de synchronisation n’affectant pas l’accès aux données.
RougeInformation concernant des problèmes d’accès aux données.

2.6 Mon compte

L’utilisateur a la possibilité d’accéder aux informations de son compte en cliquant dans la barre de menu en haut à droite (sur son identifiant de connexion).

Ainsi, l’utilisateur arrive sur l’écran ci-dessous où se trouve dans l’encart de gauche “Modifier mes informations”, les champs modifiables liés au mot de passe et à l’adresse e-mail. Le champs “Nom d’utilisateur” n’est pas modifiable par l’utilisateur.

Sur l’encart de droite “Options du compte”, est affichée la liste des installations auxquelles l’utilisateur à accès depuis son propre compte.

Page du compte de l’application MyHome&me
Page du compte de l’application MyHome&me

3. Accès à l’application

L’accès à l’application n’est possible que pour les utilisateurs disposant d’un compte MyHome&me.

Page de connexion à l’application MyHome&me
Page de connexion à l’application MyHome&me

3.1 Création du compte

Sirea est en charge de la création du compte utilisateur sur demande de l’installateur.

3.2 Accès à l’application

Une connexion internet est requise pour accéder à l’application.

L’adresse de connexion à l’application est la suivante : https://myhomeandme/login.php

3.3 Tarifs & paiements

Le compte utilisateur est gratuit la première année à partir de la date de mise en service et soumis à abonnement annuel au terme de la première année, au tarif en vigueur défini par Sirea.

Le paiement doit être réglé directement à Sirea par les moyens suivants :

  • Virement
  • Paypal

4. Traitement des données

Afin de garantir le fonctionnement de l’application MyHome&me, l’utilisation de données à caractère personnel renseignées par le client ou collectées depuis son installation est indispensable. Il est donc obligatoire, au travers du formulaire de la fiche du profil client normalement transmises par l’installateur, d’autoriser Sirea à exploiter les données renseignées dans ce formulaire et collectées sur l’installation pour les restituer au travers de la solution de supervision.

4.1 Données renseignées

Les données renseignées dans le formulaire SIR-FPC-AEA-REV2 ou le formulaire en ligne (https://www.sireagroup.com/consentement/) sont utilisées de la façon suivante :

Numéro de série du produitCe numéro se trouve sur l’étiquette latérale au bas de l’armoire. Il permet d’identifier le produit concerné.
Adresse postale / code postal / ville de l’installationMesure de l’ensoleillement du site dans le cadre d’une fonctionnalité de prévisionnel de production.
Puissance photovoltaïque (en Wc) raccordée à l’armoirePour vérifier la fiabilité des données collectées sur l’installation.
Nombre de batteries raccordées à l’armoirePour calculer l’optimisation de l’autoconsommation.
Nom de l’installateur (raison sociale)Pour effectuer le suivi de la maintenance.
Nom du client finalPour différencier la dénomination des installations dans le cadre d’un accès à plusieurs installations par utilisateur.
Adresse e-mail du client finalPour transmettre les notifications provenant de l’application par courrier électronique.

3.2 Données collectées

Les données collectées sur l’installation sont utilisées de la façon suivante :

Puissance réseauAffichage en temps réel
Historisation pour restitution sur demande
Puissance photovoltaïqueAffichage en temps réel
Historisation pour restitution sur demande
Puissance batterieAffichage en temps réel
Historisation pour restitution sur demande
Puissance consommationAffichage en temps réel
Historisation pour restitution sur demande

MicroLADDER

Dernière modification le

1. Lecteurs ciblés

Cette documentation est à destination des utilisateurs du logiciel MicroLADDER, permettant de programmer tous les automates de la gamme SIREA. Les particularités de chaque automate sont décrites dans leur notice respective.

2. Version installée

Cette notice s’adresse à la version 18.3 de MicroLADDER.

Avertissement
Il est important de noter que cette notice est pour la dernière version de MicroLADDER. Au fil des années des modifications/améliorations ont été réalisés. Si vous installez une version antérieure, vous vous exposez au fait que cette documentation ne soit plus entièrement valable. Certaines notes ("valable depuis la version ...") ont été ajoutées pour essayer de vous aider si vous utilisez une version antérieure.

3. Installation

Pour installer le logiciel MicroLADDER, plusieurs manipulations vont devoir être réalisées pour qu’il fonctionne correctement. On va devoir installer plusieurs entités. Le tableau suivant décrit les entités ainsi que leur utilité.

EntitéUtilité
CompilateurCe logiciel a pour rôle de rechercher toutes les erreurs possibles dans un programme source, telles que des fautes d’orthographe, les variables, les types, etc.
MicroLADDERCe logiciel sert à réaliser l’application, la compiler, faire de la visualisation dynamique et du forçage de variables.
Code systèmeLe code système est une archive qui rassemble l’ensemble des macros et des fonctions (dans des fichiers .h et .c) qui font fonctionner les automates. C’est macros et fonctions peuvent être utilisés dans les programmes. Il sert aussi à gérer le côté hardware avec les différentes entrées/sorties des automates
MicroCONTROLCe logiciel sert à charger l’application, faire de la visualisation dynamique et du forçage.
MicroDRIVERCe logiciel est utilisé par MicroCONTROL et MicroLADDER pour la communication avec l’automate.
Tableau sur les entités et leurs utilités

3.1 Étape 1: Installation du Compilateur

3.1.1 Sous le système d’exploitation Windows

Pour Windows, exécuter le fichier d’installation « gcc-arm-none-eabi-4_9-2015q1-20150306-win32.exe » en double cliquant dessus.
Cocher « Add path to environment variable » à la fin de l’installation et fermer la fenêtre de commande qui reste ouverte.

Avertissement
Sous Windows 7, il faut installer le compilateur à partir du compte administrateur et donner l'accès à tous les utilisateurs.

3.1.2 Sous le système d’exploitation Linux

Ouvrer tout d’abord un terminal.
Taper dans le terminal « sudo apt-get install gcc-arm-none-eabi ». Cela permet d’installer la version du compilateur GCC compatible avec la distribution Linux.
Pour connaître la version installée, taper dans un terminal « arm-none-eabi-gcc –version ».

3.2 Étape 2: Installation de MicroLADDER

3.2.1 Sous le système d’exploitation Windows

Pour l’installer, sous Windows, il faut exécuter le fichier « setup-mladder-x.x.exe  » en double cliquant dessus.

3.2.2 Sous le système d’exploitation Linux

Ouvrer un terminal.
Taper puis exécuter la commande « sudo dpkg -i mladder-x.x.deb ». « x.x » correspond à la version choisie.
Si l’installation ne fonctionne pas par manque de dépendance, il est nécessaire de lancer la commande « sudo apt-get -f install ».

3.3 Étape 3: Installation du code système

Ouvrer le logiciel MicroLADDER dont l’icône est la suivante:

La fenêtre suivante s’ouvre:

Capture d’écran de la fenêtre principale du logiciel MicroLADDER

Dans l’onglet « Programme », cliquez sur « Importer le code système ». Une fenêtre popup s’ouvre. Rechercher puis sélectionner le fichier « mArm.sys ».

Avertissement
Le choix du code système doit se faire en fonction de la version du boot installé sur la carte et de la version de MicroLADDER.
Information
Cette étape est optionnelle. En effet, lors de l’exécution d'un programme, un code système va aller être chercher (le code système ayant la version la plus récente). Cependant, certains problèmes peuvent subvenir du fait que ce code système soit distant et non sur votre machine. Il est donc fortement recommandé d'installer le code système.

3.4 Étape 4: Installation de MicroCONTROL

3.4.1 Sous le système d’exploitation Windows

Pour l’installer MicroCONTROL, il faut exécuter le fichier « setup-mcontrol.exe » en double cliquant dessus.

3.4.2 Sous le système d’exploitation Linux

Ouvrer un terminal.
Taper puis exécuter la commande « sudo dpkg -i mcontrol.deb ».

3.5 Étape 5: Installation de MicroDRIVER

3.5.1 Sous le système d’exploitation Windows

Pour l’installer, sous Windows, il faut exécuter le fichier  » setup-mdriver.exe » en doublant cliquant dessus.

3.5.2 Sous le système d’exploitation Linux

Ouvrer un terminal.
Taper puis exécuter la commande « sudo dpkg -i mdriver.deb »

3.6 Étape 6: Redémarrer votre ordinateur

La dernière étape, quoique la plus simple est de redémarrer votre ordinateur.

4. Prise en main de l’interface

4.1 Lancer et quitter MicroLADDER

Pour démarrer le logiciel, double-cliquer sur l’icône de MicroLADDER.

Le logiciel MicroLADDER s’ouvre alors sur la fenêtre principale suivante:

Capture d’écran de la fenêtre principale du logiciel MicroLADDER

Pour quitter le logiciel, cliquez soit sur l’icône « Fermer » (la croix rouge en haut à droite) soit aller dans la barre du menu puis Fichier>Quitter.

Une fenêtre popup s’ouvre alors nous demandant si on souhaite sauvegarder les modifications qui ont été faites à notre programme. Si vous cliquez sur « Non » alors vous perdrez toute dernières modifications non enregistrées.
Si on clique sur « Annuler », on ne ferme plus le logiciel.

4.2 Caractéristiques de la fenêtre principale

Les éléments suivants peuvent être trouvés sur la fenêtre principale :

  • Barre de titre : vous pouvez y trouver la version du MicroLADDER installé. Dans l’exemple de la Capture d’écran ci-dessous, vous pouvez voir « MicroLADDER v18.3 ». Elle indique également si vous utilisez le code système à distance ou embarqué. Ici, on utilise le code système distant v15.6.
  • Barre du menu: vous pouvez y trouver les onglets:
    – Fichier
    – Programme
    – Pages
    – Librairie
    – Ladder
    – Code
    – Communication
  • Barre d’outils : la barre d’outils comprend les éléments suivants :
    – Sélectionneur de page
    – Bouton « Ajouter »
    – Bouton de suppression
    – Bouton de recherche
    – Bouton de recherche et de remplacement
    – Bouton « Se connecter »
    – Bouton « Afficher les variables »
  • Fenêtre de programmation : cette fenêtre délimite l’espace pour programmer. On peut se déplacer dans cette fenêtre en utilisant la barre de défilement située sur le côté droit.
Capture d’écran de la fenêtre principale de MicroLADDER

4.3 Barre de menu

La barre de menu MicroLADDER contient une série de menu déroulants qui peuvent être utilisés pour accéder aux différents outils et utilitaires de configuration du logiciel.

Capture d’écran de la barre de menu de la fenêtre principale de MicroLADDER

Les menu déroulants suivants par ordre de la gauche vers la droite sont inclus dans la barre de menu :

4.3.1 Fichier (Alt+F)

Les fonctionnalités suivantes ainsi que leur raccourci (explicité entre parenthèses) sont disponibles:

  • Nouveau (Ctrl+N): crée un nouveau projet. Si vous avez déjà un projet ouvert, il vous sera demandé d’enregistrer ou non les modifications.
  • Ouvrir (Ctrl+O): ouvre un projet déjà existant. Une fenêtre popup pour sélectionner le fichier dans vos dossiers apparaîtra.
  • Enregistrer (Ctrl+S): enregistre les modifications du projet ouvert avec le nom et l’emplacement prédéfinis. Si le projet sur lequel on travaille n’a pas encore été ouvert alors une fenêtre popup s’ouvre pour sélectionner l’endroit dans lequel on souhaite sauvegarder le fichier. Un fichier .lad sera alors enregistré à l’emplacement spécifié. Un astérisque situé dans la barre de titre à côté de la version du code système indique si les dernières modifications effectuées sur le projet en cours ont déjà été enregistrées (sans astérisque) ou non (avec astérisque).
  • Enregistrer sous : enregistre les modifications du projet en choisissant le nom et l’emplacement dans une une fenêtre popup. Les cinq projets les plus récents seront également affichés dans ce menu, pour un accès facile.
  • Quitter (Ctrl+Q): quitte MicroLADDER. Si on n’a pas enregistré les modifications manuellement, alors une fenêtre popup nous demandant si on souhaite sauvegarder apparaîtra. Si vous cliquez sur « Non » alors on perdra toutes dernières modifications non enregistrées. Si on clique sur « Annuler », on ne ferme plus le logiciel.
Capture d’écran de la fenêtre popup de fermeture de MicroLADDER

4.3.2 Programme (Alt + P)

  • Compiler: compile un programme. Après la compilation, une nouvelle fenêtre popup s’ouvrira nous permettant de choisir un emplacement où l’enregistrer.
Avertissement
Pour compiler, le code système doit d'abord être importé dans le projet ou être disponible en ligne (étape 3 de l'installation).
  • Définir le type de programme: sélectionne le type de programme à développer, soit un bloc fonction, soit un programme spécifique automate parmi:
    – µArm A1
    – µArm A2
    – µArm A2-C
    – µArm A3
    – µArm A3-B
    – µArm A4
    – µArm A4+
    – µArm A5
    – µArm A6
    – µArm A7
    – µArm A8
    – µArm A9 A
    – µArm A9 B
    – µArm A10
    – µArm A11
    – µArm A12
    – µArm A13
    – µArm A14
    – µArm A15
    – µArm A16
    – µArm G1
    – µArm H1
Avertissement
Il est à noter que le code système doit être importé pour voir toutes les options des types de programme à créer. Si le code système n'est pas importé, seul le type de "Bloc fonction" est disponible.
  • Définir une icône: associe une icône au projet. Cette icône apparaîtra dans l’icône de la fenêtre à la place de l’icône de MicroLADDER. C’est une fonctionnalité disponible à la fois pour les programmes automates et les blocs fonctions. En revanche, il est plus utile de définir une icône pour un bloc fonction car une image sur le bloc sera affiché lorsqu’il est importé dans un projet et appelé sur une page Ladder.
  • Équipements: donne la liste des appareils, divisée en deux types :
    – Équipement de base : cette option créé une liste de paramètres qui permettront de configurer la remontée des données sur le serveur.
    – Ajouter un équipement distant : cette option permet de définir le ou les esclaves utilisé(s) pour créer un réseau Modbus (voir la section 7. IO Bus).
  • Afficher les variables: cette option permet d’ouvrir la fenêtre de l’éditeur de variables. Cette fenêtre contient toutes les informations concernant les variables du programme, tant les variables système que les variables utilisateur. Cette fenêtre sert également à vérifier la valeur en temps réel des variables lors de la communication avec l’API. On peut également accéder à cette option en utilisant le bouton « Afficher les variables » situé sur la barre d’outils.
  • Configurer le code système : configure les options pour la compilation. Cliquez sur cette option pour modifier les paramètres du code système en sélectionnant ceux qui nous intéressent parmi:
    – AUTO-STOP (par défaut)
    – DHCP (par défaut)
    – DNS (par défaut)
    – GFX
    – HTTP
    – LCD (par défaut)
    – RF
    L’explication pour chaque paramètres est dans la section 6.4 Configuration du code système.
  • Importer le code système: avant de créer un nouveau programme, le code système doit être importé. Cliquez sur cette option, une fenêtre popup s’ouvre alors, nous permettant de sélectionnez le fichier mArm.sys. Une fois le code système correctement importé, les différentes options pour le type de programme seront disponibles.
    Si vous disposez d’une connexion Internet, vous n’avez pas besoin d’importer le code système car MicroLADDER utilisera le code système en ligne mais ceci est déconseillé.
  • Exporter le code système: cette option permet d’exporter le code système actuellement importé dans le projet, afin de l’utiliser dans d’autres projets. On peut utiliser cette option pour développer un nouveau programme en utilisant le même code système, ou simplement pour connaître la version du code système d’un automate.
  • Supprimez le code système: cette option permet de supprimer le code système précédemment importé.
  • Configurer l’IHM: configure les options pour l’IHM.
  • Importer l’IHM: cette option permet, si on a créé une IHM avec MicroHMI de l’inclure dans le projet actuel.
  • Exporter l’IHM: cette option permet d’exporter une IHM précédemment importée.
  • Supprimer l’IHM: cette option permet de supprimer une IHM précédemment importée.

4.3.3 Pages (Alt+G)

  • Ajouter une page: ajoute une nouvelle page à votre projet actuel. Une fenêtre popup s’ouvre. Les champs suivants y sont disponibles:
    – « Libellé »: chaîne de caractères du nom que va prendre la page si on ne remplit pas ce champ un libellé sera créé automatiquement en attribuant un numéro à la page
    – « Langage »: menu déroulant permettant de choisir Ladder ou C. Par défaut le langage est le Ladder.
    – « Appeler sur interruption »: champs à cocher si on souhaite que la page soit appelée par une interruption
    – « Timer (en ms) »: entier indiquant le temps (en millisecondes) au bout duquel la page sera appelée par interruption
Capture d’écran de la fenêtre popup « Ajouter une page »
  • Modifier cette page: cette option permet de modifier les champs explicités juste au dessus d’une page spécifique déjà créée.
  • Dupliquer cette page: duplique la page sur laquelle on se trouve. Les propriétés et le code seront conservés dans cette nouvelle page.
Information
Il est à noter que la nouvelle page ajoutée aura une étiquette automatiquement créée en attribuant le prochain numéro de page disponible à la nouvelle page.Si la page dupliquée avait un intitulé alors la nouvelle page n'aura pas cet intitulé.
  • Déplacer cette page: déplace la page sur laquelle on se trouve actuellement. En cliquant sur cette option, une fenêtre popup s’ouvre nous demandant de sélectionner la nouvelle position de la page grâce à un menu déroulant.
Capture d’écran d’une fenêtre popup « Déplacer cette page »
  • Supprimer cette page: supprime la page sur laquelle on se trouve. Une nouvelle fenêtre de confirmation de suppression de la page s’ouvre. Si on souhaite bien supprimer la page, on clique sur « Oui » sinon fermer la fenêtre ou cliquez sur « Non ».
Capture d’écran de la fenêtre popup de confirmation de suppression de la page actuelle
  • Page 1 (et suivante): liste des différentes pages disponibles dans le projet directement accessibles depuis ce menu.

4.3.4 Librairie (Alt+L)

  • Importer une fonction: importe une fonction dans le projet en cours en la sélectionnant dans la fenêtre popup qui apparaît.
  • Exporter une fonction: exporte une fonction vers le projet en cours en la sélectionnant dans la nouvelle fenêtre popup qui apparaît.
  • Supprimer une fonction: supprime une fonction du projet en cours en la sélectionnant dans la nouvelle fenêtre popup qui apparaît.

4.3.5 Ladder (Alt+D)

Avertissement
Ce menu déroulant ne sera pas accessible depuis une page C.
  • Tout sélectionner (Ctrl+A): cette option permet de sélectionner tous les éléments inclus dans une page active.
  • Inverser la sélection (Ctrl+Maj+I): cette option permet de sélectionner les éléments que l’on ne sélectionne pas actuellement (inverse la sélection). Si aucun élément n’est sélectionné, tous les éléments seront alors sélectionnés en cliquant sur cette option.
  • Couper (Ctrl+X): cette option permet de couper un/des élément(s). Une fois sélectionné le ou les éléments que vous souhaitez couper, cliquez sur cette option. Le ou les éléments sélectionnés ne disparaîtront pas et ne changeront pas d’apparence pour indiquer qu’ils sont en train d’être coupés. Il (Ils) disparaîtront simplement de sa (leur) position précédente lorsque vous le (les) collerez. On peut également couper le ou les éléments en sélectionnant cette option dans le menu contextuel.
  • Copier (Ctrl+C): cette option sert à copier un/des éléments. Une fois sélectionné le ou les éléments que vous souhaitez copier, cliquez sur cette option. Vous pouvez également copier le ou les éléments en sélectionnant cette option dans le menu contextuel.
  • Coller (Ctrl+V): cette option permet de supprimer un/des éléments de la page. Positionnez le curseur de la souris à l’endroit où vous souhaitez coller le ou les éléments précédemment coupé(s) ou copié(s). On peut également coller le ou les éléments en sélectionnant cette option dans le menu contextuel.
  • Supprimer (suppr): cette option sert à supprimer un/des éléments de la page. Une fois sélectionné(s) le(s) élément(s) que l’on souhaite supprimer, cliquez sur cette option. On peut supprimer également le ou les éléments en sélectionnant cette option dans le menu contextuel ou en utilisant le bouton « Supprimer » placé dans la barre d’outils.Ce bouton s’active lorsqu’il y a une sélection.
  • Propriétés: cette option permet d’affecter la variable ou le code associé à l’élément sélectionné (un seul élément à chaque fois). La variable peut être affectée à la fois avec l’adresse et le mnémonique. On peut également accéder aux propriétés de l’élément en sélectionnant cette option dans la menu contextuel ou en double-cliquant sur l’élément. Notez que le double-clic ne fonctionne que si MicroLADDER n’est pas connecté à l’automate. Si il y a une connexion alors le double-clic permet de forcer la valeur d’une variable.
  • Ajouter: cette option sert à inclure un nouvel élément à la page actuelle Ladder. Il suffit de sélectionner l’élément désiré dans le menu déroulant et de le placer avec le curseur de la souris à l’endroit voulu par un simple clic gauche. On peut également ajouter des éléments à partir du menu contextuel ou en utilisant le bouton « Ajouter » placé dans la barre d’outils. Lors de l’accès via le menu contextuel, assurez vous de placer d’abord le curseur de la souris à l’emplacement souhaité avant de cliquer avec le bouton droit, car l’élément sera placé directement sans avoir besoin d’un clic gauche supplémentaire.

4.3.6 Code (Alt+O)

Avertissement
Ce menu déroulant ne sera pas accessible à partir d'une page Ladder.
  • Rechercher (Ctrl+F): cette option à partir d’une page de code C active la barre de recherche pour la recherche de code. Cette barre apparaîtra en bas de la fenêtre. Écrivez le texte à rechercher dans la barre de recherche et activez « Respecter la casse » pour une recherche sensible à la casse et « Retourner circulaire » si on souhaite que toutes les correspondances de la page soient marquées.
Capture d’écran de la fenêtre popup « Rechercher »
  • Rechercher et remplacer (Ctrl+R): cette option à partir d’une page de code C ouvre une fenêtre popup. Précisez ensuite les critères de recherche et le texte de remplacement. On peut soit remplacer manuellement une seule partie d’un texte soit remplacer tout. Dans le cas d’un remplacement manuel, vous pouvez également le faire en avant ou en arrière, en activant ou en désactivant l’option Recherche en arrière.
Capture d’écran de la fenêtre popup « Rechercher et remplacer »

4.3.7 Communication (Alt+C)

Information
Ce menu déroulant ne sera pas accessible à partir d'un bloc fonction mais seulement à partir d'un programme automate.
  • Se connecter: cette option est disponible lorsqu’aucune connexion n’a encore été établie. Une fenêtre popup « Connexion à MicroDRIVER » apparaîtra lorsque l’on clique sur cette option. Plusieurs champs (méthode de communication, le numéro d’esclave et l’adresse du MicroDRIVER) sont à renseigner afin de se connecter à l’automate. On peut également accéder à la fenêtre « Connexion à MicroDRIVER en utilisant le bouton « Se connecter » placé dans le menu Outils. Pour plus d’informations sur comment établir une connexion, se référer à la section 5.3.2 Établissement de la connexion.
Capture d’écran de la fenêtre popup « Connexion à MicroDRIVER »
  • Déconnecter: cette option est disponible lorsqu’une connexion a déjà été établie. En cliquant sur cette fonction la communication avec l’automate va être arrêtée.
  • Lecture du numéro d’esclave : cette option est uniquement disponible lorsqu’une connexion avec un automate a été établie. Elle est utilisée pour obtenir le numéro d’esclave d’un esclave spécifique, lorsqu’il est prévu d’en connecter plusieurs en série, sur la même ligne.
  • Écriture du numéro d’esclave : cette option est uniquement disponible lorsqu’une (et une seule) connexion avec un automate a été établie. Elle permet de modifier son numéro d’esclave.
  • Démarrage du programme : cette option démarre un programme lorsque l’automate est à l’état STOP. Une fenêtre popup nous indiquant que le programme a bien démarré apparaît.
  • Arrêt du programme : cette fonction arrête un programme lorsque l’automate est à l’état RUN.
  • Réinitialisation de l’équipement : cette option réinitialise l’automate à son état BOOT. Elle est utile pour tester ses réactions lorsqu’il est allumé et éteint par exemple.
  • Réinitialisation des variables : cette fonction remet toutes les variables à leur valeur initiale et n’arrête pas le programme. L’automate est toujours dans l’état RUN. Elle est utile pour simuler un comportement.
  • Chargement d’un programme : cette option ouvre une fenêtre popup « Chargement d’un programme » nous permettant de choisir le fichier hexadécimal (.hex) que l’on souhaite charger sur l’automate. Cette action prend plusieurs dizaines de secondes, il est donc plus rapide de charger à l’aide d’une carte SD si l’automate dispose d’un lecteur de carte SD.
Information :
Il est possible de connaître la touche correspondante associée aux raccourcis Alt+touche pour l'accès direct à chaque menu déroulant de la barre de menu en cliquant sur Alt alors que la barre de menu est active ou visible. Les lettres associées à chaque touche apparaîtront soulignées.

4.4 Barre d’outils

La barre d’outils se situe en haut de la fenêtre principale.

Capture d’écran de la barre d’outils de MicroLADDER

Les éléments suivants sont inclus dans la barre d’outils :

  • Sélectionneur de page: cette option ouvre un menu déroulant permettant de sélectionner la page avec laquelle on souhaite travailler.
  • Ajouter: cette option sert à inclure un nouvel élément Ladder sur la page actuelle. Il suffit de sélectionner l’élément souhaité dans le menu déroulant et de le placer avec le curseur de la souris à l’endroit souhaité par un simple clic gauche. On peut également ajouter des éléments à partir du menu par un clic droit. Lorsqu’on accède au menu par le clic droit, il faut s’assurer de placer d’abord le curseur de la souris à l’endroit désiré avant de cliquer avec le bouton droit de la souris. L’élément sera placé directement sans qu’il soit nécessaire de faire un clic gauche supplémentaire.
  • Icône « Supprimer »: ce bouton est activé uniquement lorsqu’un élément est sélectionné sur la page. Une fois le ou les éléments que vous souhaitez supprimer sont sélectionnés, cliquez sur cette icône. Vous pouvez également supprimer le(s) élément(s) en sélectionnant cette option dans le menu du clic droit.
  • Icône « Rechercher »: cette option à partir d’une page de code C active la barre de recherche pour la recherche de code. Cette barre apparaîtra en bas de la fenêtre. Écrivez le texte à rechercher dans la barre de recherche et activez « Respecter la casse » pour une recherche sensible à la casse et « Retourner circulaire » si on souhaite que toutes les correspondances de la page soient marquées.
Capture d’écran de la fenêtre popup « Rechercher »
  • Icône « Rechercher et remplacer »: cette option à partir d’une page de code C ouvre une fenêtre popup. Précisez ensuite les critères de recherche et le texte de remplacement. Vous pouvez soit remplacer manuellement une partie d’un texte à un seul endroit soit tout remplacer. Dans le cas d’un remplacement manuel, vous pouvez également le faire en avant ou en arrière, en activant ou en désactivant l’option Recherche en arrière.
Capture d’écran de la fenêtre popup « Rechercher et remplacer »
  • Se connecter: cette option est disponible lorsqu’aucune connexion n’a encore été établie. Une fenêtre popup « Connexion à MicroDRIVER » apparaîtra lorsque l’on clique sur cette option. Plusieurs champs (méthode de communication, le numéro d’esclave et l’adresse du MicroDRIVER) sont à renseigner afin de se connecter à l’automate. On peut également accéder à la fenêtre « Connexion à MicroDRIVER en utilisant le bouton « Se connecter » placé dans le menu Outils. Pour plus d’informations sur comment établir une connexion, se référer à la section 5.3.2 Établissement de la connexion.
    Avant cette étape, on doit avoir sélectionner le type d’automate puis s’être connecter à l’automate.
Capture d’écran de la fenêtre popup « Connexion à MicroDRIVER »
  • Afficher les variables: cette option ouvre la fenêtre de l’éditeur de variables. Cette fenêtre contient toutes les informations concernant les variables du programme, tant les variables système que les variables utilisateur. On peut également l’utiliser pour vérifier la valeur en temps réel des variables lors de la communication avec l’API. On peut accéder à cette option à partir du menu « Programme » situé dans la barre de menu.
Capture d’écran de la fenêtre popup « Éditeur de variables »

4.5 Fenêtre de programmation


La fenêtre de programmation est le grand espace vide situé sous la barre d’outils utilisée pour le développement de programmes. Deux types de fenêtres de programmation peuvent être affichées :
– la fenêtre Ladder
– la fenêtre C

Capture d’écran de la fenêtre principale en Ladder de MicroLADDER
Capture d’écran de la fenêtre principale en C de MicroLADDER

5. Programmer sur MicroLADDER

5.1 Les langages de programmation

5.1.1 Langage Ladder

L’idée initiale du Ladder est la représentation de fonction logique sous la forme de schémas électriques. Cette représentation est originellement matérielle : quand l’automate programmable industriel n’existait pas, les fonctions étaient réalisées par des câblages. Le Ladder a été créé et normalisé dans la norme CEI 61131-3. Il est encore aujourd’hui souvent utilisé dans la programmation des automates programmables industriels

Un programme Ladder se lit de haut en bas et l’évaluation des valeurs se fait de gauche à droite. Les valeurs correspondent, si on les compare à un schéma électrique, à la présence ou non d’un potentiel électrique à chaque nœud de connexion. En effet, le Ladder est basé sur le principe d’une alimentation en tension représentée par deux traits verticaux reliés horizontalement par des bobines, des contacts et des blocs fonctionnels, d’où le nom « Ladder » (échelle). C’est un langage volontairement simple et graphique pour être compréhensible. Cela a permis, dans les années 1990, son utilisation sans formation poussée par les électriciens.

5.1.2 Langage C

Le langage de programmation C a été initialement développé par Dennis Ritchie entre 1969 et 1973 chez Bell Laboratories. Il est approprié pour écrire des programmes au niveau du système en raison de la simplicité d’expression, de la compacité du code et de la large gamme d’applicabilité. Il permet au programmeur un large éventail d’opérations allant du haut niveau jusqu’au bas niveau approchant le niveau du langage assembleur. La flexibilité disponible est large ce qui en fait un langage de programmation parfait pour le développement de programmes automate de haut degré de complexité.

5.2 Importation du micrologiciel

Avec cette version de MicroLADDER, le firmware est en ligne et fonctionne automatiquement avec votre système. Aucune importation n’est nécessaire, mais une connexion Internet l’est.

5.3 Connexion avec l’automate

L’établissement d’une connexion avec l’automate est nécessaire lors du chargement d’un programme via un port et lors de la surveillance de variables lorsque l’automate est en RUN.

5.3.1 MicroDRIVER

MicroDRIVER est le logiciel chargé d’établir la connexion entre l’automate et les différentes applications du système. Il peut être considéré comme une « boîte noire » des communications. Il est indépendant du protocole de communication du système.
L’utilisateur ne sera pas au courant de son fonctionnement car il s’exécute en arrière-plan. Cependant, si MicroDRIVER n’est pas installé, il sera impossible d’établir la connexion avec l’automate.

5.3.2 Établissement de la connexion

Pour établir la connexion entre MicroLADDER et l’automate, il faut d’abord cliquer sur l’option « Se connecter » dans la barre outils. Une fois cette option sélectionnée, une fenêtre popup de connexion apparaît.

Capture d’écran de la fenêtre popup « Connexion à MicroDRIVER »

Pour la connexion avec MicroDRIVER, plusieurs champs sont à remplir parmi:

  • Méthode de communication : plusieurs méthodes de communication sont disponibles:
    – Hôte réseau : la connexion est établie par le réseau. L’adresse IP ou le nom de domaine de l’hôte est à renseigner dans le champs à droite du menu déroulant. L’hôte réseau peut par exemple être notre ordinateur.
    – Port série : choisissez un port série dans la liste ainsi que sa configuration
    – Canal : fonctionnalité obsolète
  • Numéro d’esclave : ce numéro identifie l’automate au sein d’un réseau d’automates. Vous n’avez pas besoin de définir le numéro d’esclave si vous programmez un seul automate. Il sera déterminé après la première connexion.
  • Adresse de MicroDRIVER : MicroDRIVER est l’application serveur. Il peut s’exécuter localement ou sur un ordinateur distant. S’il s’exécute sur un ordinateur distant, il est nécessaire de spécifier l’adresse IP de cet ordinateur. La configuration de la connexion au MicroDRIVER peut différer selon la façon dont on se connecte à l’automate depuis votre ordinateur. Les paramètres de configuration les plus courants peuvent être vu dans le tableau ci dessous:
Tableau sur les paramètres de configuration en fonction du type de connexion

Une fois les paramètres de connexion correctement renseignés, cliquez sur « Valider » et la connexion sera établie. Vous pouvez vous assurer que la connexion a été établie en vérifiant ce qui suit :

  • Le bouton « Se connecter » de la barre d’outils est enfoncé (si on clique dessus, on se déconnecte directement à nouveau).
  • L’option  » Se connecter » du menu déroulant « Communication » de la barre de menu est désactivée et l’option « Déconnecter » est disponible.
  • Un message vert « OK » est apparu sur la barre d’outils.
  • Les conditions actives du programme apparaissent également en vert sur les pages Ladder
Capture d’écran de la fenêtre principale de MicroLADDER avec l’automate connecté et en ligne
Information
Un pourcentage est affiché en vert près de l'état de la connexion. Il s'agit simplement d'une information supplémentaire qui montre la qualité de la connexion avec l'automate : elle représente le pourcentage de trames qui ont été correctement transmises. Le calcul de ce pourcentage démarre en même temps que MicroDRIVER.

5.4 Utilisation des pages


Le nombre de pages pouvant être utilisées dans n’importe quel programme MicroLADDER est illimité. Chaque page Ladder est limitée à 100 lignes alors que les pages C ne sont pas soumises à cette limitation. La limitation du nombre de lignes à l’intérieur d’une page en Ladder oblige l’utilisateur à structurer le programme en différentes pages et/ou à utiliser des fonctions, ce qui facilite l’interprétation du code.

La page 1 est appelée à chaque cycle automate mais on peut appeler d’autres pages facilement.
On peut décider si une page spécifique doit être programmée soit en Ladder soit en C. Des pages de différents langages de programmation peuvent être appelées et combinées facilement. Cela offre à l’utilisateur une grande flexibilité et une interprétation facile de la structure lors de la création d’applications.
Assurez vous qu’il n’y a pas de code déjà généré dans une page lors du passage de C à Ladder ou vice-versa, car il sera perdu.

5.4.1 Créer une page

Un nouveau projet MicroLADDER inclut par défaut une seule page (Page 1) qui est configurée par défaut en Ladder. Il est possible de la modifier en allant dans le menu déroulant « Page » de la barre de menu puis en cliquant sur « Modifier la page ».
On peut facilement créer une page supplémentaire en ajoutant une nouvelle page ou en copiant une page existante (voir section 4.3.3 Pages (Alt+G) pour plus de renseignements).

5.4.2 Appel d’une page

La page 1 est appelée automatiquement alors que les autres pages doivent être appelées sur interruption, timer, ou avec des ordres d’appel en C ou en Ladder.

5.4.2.1 Par interruption

Il est possible d’appeler les pages sur interruption, la page sera donc appelée à une certaine fréquence. Cette fréquence est paramétrée dans la variable système %SW25 pour une durée précise et rapide.

Information
Il est conseillé d'appeler des pages par interruption lorsqu'elles exécutent des tâches rapides et répétitives.
5.4.2.2 Par timer

Il est possible également d’appeler une page via un timer. On va définir ce timer dans les réglages de la propriété de la page. A chaque cycle automate, l’automate va aller vérifier si son temps exécution est supérieur au timer défini sur la page. Si il est supérieur alors la page va être exécutée.

Information
Il est conseillé d'appeler des pages par timer lorsqu'elles s'exécutent lentement et qu'il n'y a pas besoin qu'elles soient exécutées à chaque cycle.
5.4.2.3 Par ordre d’appel C ou Ladder

Une page peut être appelée à partir d’une autre page à l’intérieur d’un programme, quel que soit le type de code utilisé dans chaque page. Cela signifie qu’une page en Ladder peut être appelée à partir d’une page C et vice-versa.
Pour appeler une page en Ladder, il suffit d’ajouter une commande d’appel soit depuis le menu déroulant « Ladder » situé sur la barre de menu, soit par le menu contextuel.

Si la page appelée n’a pas d’étiquette, elle sera appelée par son numéro de page. Dans cet exemple, Page 2.
Si la page appelée a un libellé, elle peut être appelée soit par son numéro de page, soit par son libellé. Cependant en Ladder c’est le libellé qui s’affichera au lieu du numéro de la page. On observe cela avec l’appel de la page dont le libellé est « Sequence2 ».

Dans une page écrite en langage C, une autre page peut également être appelée soit par son numéro, soit par un libellé.


page_2(); //Pour appeler la page 2
Sequence2() ; //Pour appeler la page nommée “Sequence2”.

5.5 Gérer les variables

5.5.1 Éditeur de variables

Les variables dans MicroLADDER sont des emplacements de stockage avec un mnémonique associé qui contient une quantité connue ou inconnue d’informations.
Les variables disponibles dans un programme MicroLADDER peuvent être affichées et modifiées à partir de l’éditeur de variables.

Vous pouvez accéder à l’éditeur de variables en cliquant sur le champ « Afficher les variables » en haut à droite dans la barre outils.

Capture d’écran de la fenêtre popup « Éditeur de variables »
5.5.1.1 Barre menu de l’éditeur de variables


L’éditeur de variables a sa propre barre de menu ayant chacun un menu déroulant.

Capture d’écran de la barre d’outils de l’éditeur de variables

Ces menu déroulants contiennent les options suivantes :

5.5.1.1.1 Fenêtre
  • Fermer: on peut fermer l’éditeur de variables en cliquant sur cette option ou simplement en cliquant sur le bouton de fermeture en haut à droite
5.5.1.1.2 Tables
  • Ajouter une table: dans MicroLADDER, une catégorie ou un groupe de variables est appelé table. Par défaut, MicroLADDER considère deux tables : les variables utilisateur et les variables système. De nouvelles tables peuvent être définies en cliquant sur cette option et en donnant un nom.
  • Renommer cette table: cliquez sur cette option pour renommer un tableau. Les tables par défaut ne peuvent pas être renommées.
  • Supprimer cette table: cliquez sur cette option pour supprimer une table. Les tables par défaut ne peuvent pas être supprimées.
  • Importer des variables dans cette table: cliquez sur cette option pour importer un fichier de variables CSV dans le projet MicroLADDER en cours.
  • Exporter les variables de cette table: cliquez sur cette option pour exporter un tableau de variables dans un fichier CSV à partir du projet MicroLADDER en cours.
  • Importer des valeurs dans cette table: cliquez sur cette option pour importer des valeurs dans une table à partir du projet MicroLADDER en cours.
  • Exporter les valeurs de cette table: cliquez sur cette option pour exporter les valeurs dans une table à partir du projet MicroLADDER en cours. Il est uniquement possible d’exporter dans un fichier CSV.
  • Variables système: en cliquant sur cette option, un menu déroulant avec les différentes tables variables système apparaît. Les variables incluses dans chaque catégorie sélectionnée seront affichées dans la fenêtre principale de l’éditeur de variables.
  • Variables utilisateur: en cliquant sur cette fonction, les variables créées par l’utilisateur seront affichées dans la fenêtre principale de l’éditeur de variables.
5.5.1.1.3 Variables
  • Ajouter: cliquez sur cette option pour inclure une nouvelle variable au projet MicroLADDER en cours. Vous pouvez également ajouter une variable via la barre d’outils.
  • Sélectionner les variables inutilisée: cliquez sur cette option pour sélectionner automatiquement toutes les variables qui ne sont pas utilisées dans le programme. Cette fonction offre une meilleure visibilité pour supprimer des variables.
  • Propriétés : cliquez sur cette option pour configurer les variables.
Information
Il est à noter que le raccourci pour cette fonction est le double-clic sur une variable de la liste lorsque l'automate n'est pas connecté.
  • Modifier la valeur: certaines valeurs peuvent être forcées manuellement lors de la connexion avec l’automate. Cette option permet de définir une valeur spécifique en temps réel pour une variable.
Information
Il est à noter que le raccourci pour cette fonction est le double-clic sur une variable de la liste une fois que l'automate est connecté.
  • Ajouter à la table: sélectionnez une ou plusieurs variables (avec Ctrl ou Maj) et ajoutez là dans l’une des tables créées.
  • Enlever de la table: cliquez sur cette option pour supprimer une ou plusieurs variables (avec Ctrl ou Maj) d’une table, mais pas du projet.
  • Supprimer: sélectionnez une ou plusieurs variables (avec Ctrl ou Maj) et cliquez sur cette option pour les supprimer. Les variables ne peuvent pas être supprimées lorsqu’elles sont utilisées dans le programme. On peut également les supprimer à partir de la barre d’outils.
  • Références croisées : cliquez sur cette option pour afficher une fenêtre popup indiquant tous les endroits où une variable spécifique est utilisée. Par exemple, la capture d’écran ci-dessous indique les références croisées pour la variable %M1 (elle n’est utilisé qu’une seule fois dans le programme: dans la page 1 dans la fonction à la ligne 2).
Capture d’écran de la fenêtre popup « Référence croisées pour %M1 »
5.5.1.1.4 Communication (Alt+C)

Ce menu déroulant est similaire au menu déroulant « Communication » de la barre de menu principal de MicroLADDER.

Information
Cet onglet est identique à celui que l'on trouve sur la fenêtre principale dans la barre de menu.
Ce menu déroulant ne sera pas accessible à partir d'un bloc fonction mais seulement à partir d'un programme automate.
  • Se connecter: cette option est disponible lorsqu’aucune connexion n’a encore été établie. Une fenêtre popup « Connexion à MicroDRIVER » apparaîtra lorsque l’on clique sur cette option. Plusieurs champs (méthode de communication, le numéro d’esclave et l’adresse du MicroDRIVER) sont à renseigner afin de se connecter à l’automate. On peut également accéder à la fenêtre « Connexion à MicroDRIVER en utilisant le bouton « Se connecter » placé dans le menu Outils. Pour plus d’informations sur comment établir une connexion, se référer à la section 5.3.2 Établissement de la connexion.
Capture d’écran de la fenêtre popup « Connexion à MicroDRIVER »
  • Déconnecter: cette option est disponible lorsqu’une connexion a déjà été établie. En cliquant sur cette fonction la communication avec l’automate va être arrêtée.
  • Lecture du numéro d’esclave : cette option est uniquement disponible lorsqu’une connexion avec un automate a été établie. Elle est utilisée pour obtenir le numéro d’esclave d’un esclave spécifique, lorsqu’il est prévu d’en connecter plusieurs en série, sur la même ligne.
  • Écriture du numéro d’esclave : cette option est uniquement disponible lorsqu’une (et une seule) connexion avec un automate a été établie. Elle permet de modifier son numéro d’esclave.
  • Démarrage du programme : cette option démarre un programme lorsque l’automate est à l’état STOP. Une fenêtre popup nous indiquant que le programme a bien démarré apparaît.
  • Arrêt du programme : cette fonction arrête un programme lorsque l’automate est à l’état RUN.
  • Réinitialisation de l’équipement : cette option réinitialise l’automate à son état BOOT. Elle est utile pour tester ses réactions lorsqu’il est allumé et éteint par exemple.
  • Réinitialisation des variables : cette fonction remet toutes les variables à leur valeur initiale et n’arrête pas le programme. L’automate est toujours dans l’état RUN. Elle est utile pour simuler un comportement.
  • Chargement d’un programme : cette option ouvre une fenêtre popup « Chargement d’un programme » nous permettant de choisir le fichier hexadécimal (.hex) que l’on souhaite charger sur l’automate. Cette action prend plusieurs dizaines de secondes, il est donc plus rapide de charger à l’aide d’une carte SD si l’automate dispose d’un lecteur de carte SD.
Information :
Il est possible de connaître la touche correspondante associée aux raccourcis Alt+touche pour l'accès direct à chaque menu déroulant de la barre de menu en cliquant sur Alt alors que la barre de menu est active ou visible. Les lettres associées à chaque touche apparaîtront soulignées.
5.5.1.2 Barre d’outils de l’éditeur de variables


La barre d’outils de l’éditeur de variables apparaît en haut de la fenêtre de l’éditeur de variables. Il comprend les éléments suivants:

Capture d’écran de la barre d’outils de l’éditeur de variables

Les éléments suivants sont inclus dans la barre d’outils de l’éditeur de variables :

Variables utilisateur/Variables système/Tables utilisateur créées: sélectionnez le type de variables que vous souhaitez afficher dans la liste déroulante : variables système, variables utilisateur ou l’une des tables que vous avez éventuellement créées.

Ajouter: cliquez sur cette option pour inclure une nouvelle variable au projet MicroLADDER en cours. Donnez un nom à cette nouvelle variable (soit une adresse ou une mnémonique) et définissez ses propriétés dans la nouvelle fenêtre popup de propriétés qui apparaît (voir section 5.5.1.3 Propriétés variables)

Retirer: cette option supprime une variable d’une table, mais pas du projet.

Effacer: sélectionnez une variable (ou des variables en les sélectionnant avec Ctrl ou Maj) puis cliquez dessus afin de la/les supprimer. Les variables ne peuvent pas être supprimées lorsqu’elles sont utilisées dans le programme.

Se connecter: cliquez sur cette option pour se connecter à un automate lorsqu’il est déconnecté ou pour le déconnecter lorsqu’il est connecté. Lors de la connexion, une nouvelle fenêtre apparaîtra en cliquant sur cette option. Il est alors demandé de définir les paramètres appropriés pour la méthode de communication, le numéro d’esclave et l’adresse du MicroDRIVER afin de se connecter à l’automate. Pour se déconnecter, cliquez simplement sur cette option tant que la connexion avec l’automate est active. On peut également accéder à la fenêtre de connexion à MicroDRIVER depuis l’onglet « Communication » situé sur la barre de menu de l’éditeur de variables.

Rechercher: utilisez cette barre de recherche pour rechercher une variable spécifique soit par son adresse (comme par exemple « %S1 ») soit par son mnémonique. La recherche n’est pas sensible à la casse. Il faut s’assurer que l’on se trouve dans le bon type de variable (si on recherche une variable de contrôle de cycle et que l’on a sélectionné les variables utilisateur, la recherche ne renverra aucun résultat)

5.5.1.3 Propriétés variables

Les informations suivantes sont affichées lorsque l’on créé une variable ou si on l’a modifie. Pour y accéder double-cliquez sur la variable ou bien clic-droit puis sélectionner « Propriétés ».

5.5.1.3.1 Onglet Général
  • Type : type de variable. Pour mieux comprendre les préfixes utilisés pour l’adresse des variables, voir section 6.2 Types de données.
  • Adresse : adresse mémoire de la variable dans l’automate. Pour une meilleure compréhension des préfixes utilisés pour l’adresse des variables, voir section 6.2 Types de données.
  • Mnémonique : nom donné à la variable.
  • Commentaire : brève explication de la variable.
  • Nombre d’éléments : dans le cas d’un tableau, nombre d’éléments alloués dans le tableau. Si la variable n’est pas un tableau, cette case sera grisée.
  • Nombre de caractères : dans le cas d’une chaîne, nombre maximum de caractères de la chaîne de caractères. Si la variable n’est pas une chaîne de caractères, cette case sera grisée.
Capture d’écran de l’onglet « Général » de la fenêtre popup « Propriétés de la variable »
5.5.1.3.2 Onglet Programmation
  • Valeur initiale : valeur chargée sur la variable au démarrage de l’application ou lors d’une requête d’initialisation.
  • Sauvegardée : si l’automate dispose d’une mémoire sauvegardée, vous pouvez sélectionner cette option et la valeur sera conservée pendant l’interruption de l’alimentation. L’utilisateur peut déterminer l’instant de la sauvegarde sur EEPROM.
  • Timer (en ms) : période de temps au bout de laquelle la variable est décrémentée de 1.

En plus de ces fonctionnalités, si le programme est un bloc fonction alors on peut remplir ces champs:

  • Globale : cette propriété peut être utilisée avec des fonctions. Elle permet à la variable de conserver sa valeur entre deux appels.
  • Paramètre : utilisé pour la déclaration des variables d’un bloc fonction. Voir la section 5.8 Créer un bloc fonction pour plus de renseignements.
  • Position : permet de définir l’ordre des entrées/sorties dans une fonction.
  • Libellé : permet de donner un nom à une variable lorsqu’elle apparaît dans une fonction.
Capture d’écran de l’onglet « Programmation » de la fenêtre Propriétés de la variable
5.5.1.3.3 Onglet Entrée/Sortie

Cet onglet n’est pas disponible pour des programmes bloc fonction.

  • Configuration : paramétrage des entrées analogiques
  • Variable associée : uniquement pour les variables d’entrée/sortie qui correspondent à des éléments connectés. Cette fonctionnalité associe une variable utilisateur à une variable matérielle.
  • Inverser l’état : disponible uniquement lors de l’utilisation d’une variable liée booléenne. Cette fonctionnalité permet d’inverser l’état entre la variable locale et la variable distante.

La mise à l’échelle est uniquement disponible lors de l’utilisation d’une variable liée non booléenne. Il est possible de mettre à l’échelle des valeurs, et pour cela de spécifier une échelle de valeur brute et de lui associer une plage de valeur mise à l’échelle.

  • Valeur brute min. : valeur brute minimale pour l’entrée analogique
  • Valeur brute max. : valeur brute maximale pour l’entrée analogique
  • Valeur mise à l’échelle min. : valeur mise à l’échelle minimale pour la variable liée
  • Valeur mise à l’échelle max. : valeur mise à l’échelle maximale pour la variable liée

Un exemple est que si on a capteur renvoyant des données comprises entre 0 et 20000 (pour 0-20mA) alors ces valeurs se reportent à des températures comprises entre -20°C et +80°C (0 représentant -20°C et 20000 représentant 80°C). Dans le champs « Variable associée » associez une variable liée de type %MF.
Pour mettre en place la mise à l’échelle, remplissez le champs « Valeur brute min » par 0, le champs « Valeur brute max » par 20000, le champs « Valeur mise à l’échelle min. » par -20 et le champs « Valeur mise à l’échelle max. » par 80.

Capture d’écran de l’onglet Entrée/Sortie » de la fenêtre popup « Propriétés de la variable »
5.5.1.3.4 Onglet Communication
  • Accès à distance:
    – « Aucun » : pas de communication pour cette variable
    – « Lecture seule » : le cycle de communication est une trame de lecture périodique. La variable dans l’automate est une copie de la variable dans l’équipement distant.
    – « Écriture seule » : le cycle de communication est une trame de lecture périodique. La variable dans l’équipement distant est une copie de la variable dans l’automate.
    – « Lecture / écriture » : le cycle de communication est une trame de lecture périodique et une trame d’écriture lorsque nécessaire. Chaque fois que la variable change dans l’automate, la valeur est écrite dans l’appareil distant. Chaque fois que la variable change dans l’équipement distant, la valeur est mise à jour dans l’automate.
  • Adresse distante : adresse de la variable dans l’équipement distant. L’adresse doit spécifier le nom de la variable suivi d’un point et du numéro de l’équipement. Par exemple « %MW2.3 » est une variable %MW à l’adresse 2 de l’équipement distant numéro 3.
  • Inverser l’état : disponible uniquement lors de l’utilisation d’une variable liée booléenne. Cette fonctionnalité permet d’inverser l’état entre la variable locale et la variable distante.

Il est possible de faire une mise à l’échelle des valeurs, et pour cela, spécifier une échelle de valeur brute et lui associer une plage de valeur mise à l’échelle.

  • Valeur brute min. : valeur brute minimale dans l’appareil distant
  • Valeur brute max. : valeur brute maximale dans l’appareil distant
  • Valeur mise à l’échelle min. : valeur mise à l’échelle minimale dans l’automate
  • Valeur mise à l’échelle max. : valeur mise à l’échelle maximale dans l’automate

Un exemple est il y a des données comprises entre 0 et 100 dans l’équipement distant et que l’on veut que ces valeurs soient comprises entre 0 et 10 dans l’automate alors il faut remplir le champs « Valeur brute min » par 0, le champs « Valeur brute max » par 100, le champs « Valeur mise à l’échelle min. » par 0 et le champs « Valeur mise à l’échelle max. » par 10.
Ainsi, par exemple lorsque la valeur est 233 dans l’équipement distant, la valeur est 23,3 dans l’automate et vice versa.

Capture d’écran de l’onglet « Communication » de la fenêtre popup « Propriétés de la variable »
5.5.1.3.5 Onglet Historisation
  • Condition de l’alarme : menu déroulant permettant de choisir l’opérateur logique de la condition de l’alarme (<, <=, >, >=, != et ==). Si on choisit « Aucune » alors il n’y aura pas d’alarmes pour cette variable.
  • Seuil de l’alarme : valeur de la condition avec laquelle l’alarme est activée. Une alarme est un état, et un événement se produit et est créé chaque fois qu’un seuil est dépassé.
  • Libellé d’apparition de l’alarme : texte qui apparaîtra lorsque la condition d’alarme est présente.
  • Libellé de disparition de l’alarme : texte qui apparaîtra lorsque la condition d’alarme disparaîtra.
  • Condition de l’événement : menu déroulant permettant de choisir l’opérateur logique de la condition de l’événement (<, <=, >, >=, != et ==). Si on choisit « Aucune » alors il n’y aura pas d’événements pour cette variable.
  • Seuil de l’événement : valeur de la condition avec laquelle un événement sera activé.
  • Libellé de l’événement : texte qui apparaîtra lorsque l’événement est présent.
  • Type d’historisation : menu déroulant permettant de choisir comment on souhaite archiver les courbes de valeur dans le temps. Il y a trois types d’historisations :
    – « Aucune »: aucune historisation effectuée.
    – « Standard » : prend une valeur avec un intervalle régulier
    – « Moyennée » : prend une valeur moyenne sur une période de temps donnée
  • Délai d’historisation (en secondes) : délai d’archivage. Il dépend du type de journalisation parmi deux possibles:
    – « Standard » : temps spécifié (1 minute par exemple)
    – « Moyennée » : période de temps spécifiée
  • Seuil d’historisation : seuil au-delà duquel la valeur sera enregistrée.
Capture d’écran de l’onglet « Historisation » de la fenêtre popup « Propriétés de la variable »
5.5.1.3.6 Onglet Serveur distant
Information
Cet onglet est utilisé pour communiquer avec un serveur MicroSERVER distant
  • Accès : menu déroulant permettant d’indiquer si la variable est accessible en lecture et en écriture par MicroSERVER.
    – « Privé » : la variable n’est pas accessible
    – « Lecture seule » : la valeur de la variable va pouvoir être lue par MicroSERVER
    – « Écriture seule »: la valeur de la variable va pouvoir être écrite par MicroSERVER
    – « Lecture / écriture » : la valeur de la variable va pouvoir être lue et écrite par MicroSERVER

Les trois champs suivants ne seront pas disponibles si on a sélectionné « Privé ».

  • Libellé : texte qui sera affiché dans le champs « Label » sur MicroSERVER pour cette variable
  • Valeur de forçage min.: valeur minimale que peut avoir la variable lorsque que l’on veut la forcer
  • Valeur de forçage max: valeur maximale que peut avoir la variable lorsque que l’on veut la forcer
Capture d’écran de l’onglet « Serveur distant » de la fenêtre popup « Propriétés de la variable »
5.5.1.3.7 Onglet Affichage

Ces paramètres sont utilisés dans l’interface graphique (MicroHMI), dans le serveur (MicroSERVER) et dans l’affichage de la valeur formatée dans MicroLADDER. Les différents champs sont disponibles ci-dessous :

  • Représentation : menu déroulant permettant de sélectionner comment la valeur de la variable sera représentée parmi:
    – décimal
    – binaire
    – hexadécimal
  • Format : format de la valeur affichée. La valeur de la variable est représentée par « %v ». Ainsi si par exemple on écrit « %v°C » alors la valeur de la variable sera affichée suivie de l’unité « °C ».
  • Précision : chiffre indiquant le nombre de chiffres après la virgule d’un nombre décimal. -1 signifie aucune limite c’est à dire tous les chiffres après la virgule.
  • Valeur d’affichage min. : valeur minimale à afficher d’une variable pour les synoptiques, jauges, etc. dans MicroHMI.
  • Valeur d’affichage max. : valeur maximale à afficher d’une variable pour les synoptiques, jauges, etc. dans MicroHMI.
Capture d’écran de l’onglet « Affichage » de la fenêtre popup « Propriétés de la variable »

5.5.2 Type de variable

Les variables considérées dans un programme MicroLADDER peuvent être divisées en deux catégories:
– variables système
– variables utilisateurs

5.5.2.1 Variables système

Les variables système sont inhérentes à l’automate. Leurs propriétés ne peuvent pas être modifiées ainsi l’éditeur de variables n’affichera que leur valeur en temps réel.
Ces variables peuvent être classées en douze tables :

  • Informations système :%SW13, %SW14, %SW23, %SW24
  • Contrôle du cycle : %S0, %S1, %S16
  • chien de garde : %S15, %S20 à %S22, %SW0 à %SW2, %SW4
  • Horodateur : %S5 à %S8, %S24, %SW5 à %SW12
  • Gestion des variables : %S2, %S18, %SW15 à %SW22
  • Interruption : %SW25
  • Ports séries : %SW34 à %SW81
  • Ethernet : %S25, %SW96 à %SW137, %SW225 à %SW262
  • WiFi : %S26, %SW91 à %SW95,%SW138 à %SW175, %SW189
  • Radio :%SW190 à %SW191, %SW200 à %SW211
  • Bluetooth : %SW214 à %SW229
  • Gestion des entrées / sorties : %S11, %S12, %SW26
5.5.2.2 Variables utilisateur

L’utilisateur peut avoir besoin de variables supplémentaires dans un programme. Si aucune variable n’a encore été créée par l’utilisateur alors aucune variable ne sera affichée dans les variables utilisateur dans l’éditeur de variables. Les variables déjà créées dans le programme (en Ladder ou en C) sont créés par le logiciel MicroLADDER et seront donc affichées dans l’éditeur de variables. Cependant, une saisie manuelle est nécessaire pour définir les propriétés de la variable.

5.5.2.3 Création de variables
5.5.2.3.1 Création de variables automatiquement

Il est possible de créer des variables automatiquement dans un programme en Ladder ou en C. Pour cela il suffit d’écrire le type de la variable suivi de l’adresse. Par exemple si on veut créer une variable de type entier non signé sur 16 bits à l’adresse 1, alors on va écrire %MW1. Ceci génère alors automatiquement la variable dans la table des variables.

Avertissement
Cette manière de créer des variables est rapide mais on peut vite s'y perdre quand on a plusieurs variables différentes et pour se souvenir de l'utilité de chaque variable .
5.5.2.3.2 Création de variables manuellement

Pour créer des variables ayant des caractéristiques plus précises que leur type+adresse alors on va créer des variables manuellement depuis l’éditeur de variables.

Pour créer des variables manuellement, cliquez sur l’icône « Ajouter », choisissez le type puis donnez un mnémonique à la variable et déterminez ses propriétés (voir la section 5.5.1.3 Propriétés variables) dans la nouvelle fenêtre popup qui apparaît.

Avertissement
Quand on écrit un mnémonique, il n'est pas indispensable de définir une adresse. La variable va alors être stockée dans un espace libre de la zone mémoire des variables du même type. Cependant, cette démarche est déconseillée car on ne sait pas à quelles adresses vont être stockées les variables.
Capture d’écran de la fenêtre popup « Propriétés de la variable »
5.5.2.4 Identification des variables

La variable est identifiée par la combinaison de type+adresse.
Par exemple, si le type est booléen et l’adresse est 10. La variable est identifiée comme %M10.
Plusieurs types de variables communes aux blocs fonction et aux programmes automates sont disponibles parmi :

  • booléen
  • entier non signé 16 bits
  • entier signé 32 bits
  • flottant signé 32 bits
  • chaîne de caractères

Si le programme n’est pas un bloc fonction, ces variables sont disponibles additionnellement:

  • entrées TOR
  • entrées analogiques
  • sorties TOR
  • sorties analogiques

L’adresse est le décalage de la variable dans la mémoire de l’automate. L’adresse doit être unique pour chaque variable du même type. Par exemple, il n’est pas permis de définir deux variables %M0 mais une variable %M0 et une autre %MW0 sont autorisées. La définition d’une adresse n’est pas obligatoire. Dans ce cas, une compilation localisera la variable dans un espace libre de la zone de variables du même type.
Il est nécessaire si une variable doit remonter vers un serveur ou si l’automate doit être paramétré en esclave Modbus, de faire venir un autre équipement lire/écrire cette variable.

Les variables peuvent être utilisées dans un programme MicroLADDER en les appelant par leur adresse ou leur mnémonique.

Par exemple, dans notre programme, si on souhaite utiliser cette variable, on peut écrire soit %M1 ou soit Init. Les deux écritures fourniront le même résultat. Par exemple, ces deux lignes mettent la variable à 0:

%M1 = 0;
Init = 0;

5.5.3 Exporter/Importer des variables

5.5.3.1 Exporter des variables

La liste variables peut être exportée vers un fichier CSV et importées à partir d’un fichier CSV pour être utilisée dans d’autres programmes.
Pour exporter des variables, allez dans l’onglet « Tables » puis « Exporter les variables de cette table ». Une fenêtre popup s’ouvre nous demandant de préciser la structure du fichier CSV. Il est préférable de ne pas modifier la structure par défaut pour éviter d’éventuels problèmes d’import. Si on la change lors de l’exportation, il faut s’assurer de respecter le même ordre lors de l’importation des variables. Cliquez ensuite sur « Valider ».

Capture d’écran de la fenêtre popup « Exporter un fichier CSV »
5.5.3.2 Modifier la tables des variables dans un fichier CSV

Une fois la liste des variables exportée sous format CSV, il est tout à fait possible de modifier cette table en ouvrant le fichier (avec le logiciel Excel ou LibreOffice Calc). Cette démarche est utile notamment lorsque que l’on veut créer un grand tableau. On créé notre tableau puis la variable correspondant à la première case du tableau. Après l’export des variables, on ouvre le fichier CSV puis on a juste a faire un copier-coller de la variable de la première case du tableau et changer à chaque fois l’adresse pour créer les variables des autres cases du tableau. On garde ainsi les mêmes attributs pour toutes les cases (pour plus d’informations sur les tableaux se référer à la section 6.2.11 Tableaux)

5.5.3.3 Importer des variables

Pour importer des variables dans un programme, allez dans l’onglet « Tables » puis sur « Importer des variables dans cette table ». Une fenêtre popup permettant de sélectionner le fichier CSV s’ouvre. Une fois le fichier sélectionné, cliquez sur « Valider » une nouvelle fenêtre nommée « Importer un fichier CSV » s’ouvre. Il n’est pas utile de modifier quelque chose sur cette fenêtre. Enfin, cliquez à nouveau sur « Valider ».
L’import de variables est effectué en écrasant les variables actuelles, assurez vous donc que vous n’avez pas dans votre projet actuel une variable avec la même adresse ou mnémonique, car elle sera directement remplacée.

Capture d’écran de la fenêtre popup « Importer un fichier CSV »

5.5.4 Multi-édition variable

Il est possible de modifier les propriétés de plusieurs variables ensemble au lieu de modifier chacune des variables séparément.
Pour cela il faut suivre la démarche suivante:

  • Sélectionnez les variables avec Ctrl ou Maj.
  • Cliquez ensuite sur l’onglet « Variables » puis sur « Propriétés » ou bien faites un clic-droit depuis la fenêtre de l’éditeur de variables puis cliquez sur « Propriétés »
  • Une fenêtre popup « Propriétés des variables » s’ouvre. Les propriétés qui ont la même valeur sur toutes les variables apparaissent sélectionnées et encadrées en bleu tandis que les propriétés qui ont une valeur différente apparaissent non sélectionnées et grises.
  • Sélectionnez les champs que vous souhaitez modifier et définissez la nouvelle valeur. Toutes les propriétés sélectionnées seront appliquées à toutes les variables. Les propriétés non sélectionnées resteront inchangées.
  • Validez votre modification en cliquant sur « OK ». Sinon cliquez sur « Annuler » ou bien fermer la fenêtre.
Avertissement
Il est important de ne pas modifier les propriétés des variables qui doivent être uniques tels que le mnémonique ou encore l'adresse et le type. 
Capture d’écran de la fenêtre popup « Propriétés des variables »

5.6 Objets disponibles en langage Ladder

5.6.1 Contact ouvert

Il est activé lorsque la valeur de la variable représentée (entrée, variable interne ou bit système) est égale à 1. Il est désactivé lorsque sa valeur est égale à 0. Il peut être utilisé soit avec une variable binaire, soit comme comparaison du type %MW0>0 avec des variables entières, longues ou flottantes. Cela signifie que chaque valeur de variable différente de 0 activera le contact.

5.6.2 Contact fermé

Il est activé lorsque la valeur de la variable représentée (entrée, variable interne ou bit de système) est 0. Il est désactivé lorsque sa valeur est 1. Les mêmes remarques que celles déjà faites pour le contact ouvert peuvent être faites.

5.6.3 Front montant

Il est activé lorsqu’il y a un changement de la valeur de la variable représentée (entrée, variable interne ou bit système) de 0 à 1.
Chaque front est géré par une variable interne(de taille 1 octet) indépendante de la variable interne utilisée. Le front est valide exactement pendant un cycle complet. Si la variable change après le front alors lors du cycle suivant, le front le détectera facilement.
Il y a potentiellement un bug avec les bits indexés, si l’indice a varié d’un cycle à l’autre.
Les expressions complexes et les bits mots peuvent être gérés.

5.6.4 Front descendant

Il est activé lorsqu’il y a un changement de la valeur de la variable représentée (entrée, variable interne ou bit système) de 1 à 0.
Les mêmes remarques que celles déjà faites pour le front montant peuvent être faites.

5.6.5 Fonction

Lorsqu’une fonction est importée dans le programme en cours, elle peut être insérée comme une instruction Ladder. Il suffit alors de définir les variables d’entrée et de connecter les sorties correctement.

5.6.6 Opération

Ce bloc va permettre de définir des opérations entre variables.

5.6.7 On

Il est activé lorsque la combinaison de gauche donne un résultat de 1.
Son activation signifie qu’il a va renvoyer une valeur logique de 1.

5.6.8 Off

Il est activé lorsque la combinaison de gauche donne un résultat de 0.
Son activation signifie qu’il a va renvoyer une valeur logique de 0.

5.6.9 Set

Cet élément va forcer la variable associée à 1. La variable ne peut être mise à 0 qu’avec un « Reset ».
Il est généralement utilisé pour le stockage des bits.

5.6.10 Reset

Cet élément va mettre à 0 la variable associée.
Il désactive une variable précédemment activée avec un « Set ».

5.6.11 Appel

Ce bloc fait appel à une page du programme et exécute son code. Une fois le code exécuté, le programme principal reprend à la ligne suivante ou l’appel a été fait.

5.6.12 Saut

Ce bloc permet d’avancer en sautant un certains nombres d’instructions.

5.6.13 Retour

Ce bloc permet de retourner en arrière en sautant un certains nombres d’instructions.

5.6.14 Repère

Ce bloc est utilisé par les deux dernières instructions pour matérialiser l’endroit ou s’arrête le Saut ou le Retour dans le programme.

5.6.15 Commentaire

Ce bloc permet d’ajouter un bloc de commentaire dans le programme.

5.6.16 Insérer une ligne vide

Cette commande permet d’ajouter des lignes vides pour faire de l’espace dans le programme.

5.6.17 Supprimer les lignes vides

Cette commande va supprimer les lignes vides

5.6.18 Coller

Cette commande permet de coller un élément que l’on a préalablement copié.

5.6.19 Connecter des éléments

Pour connecter des éléments entre eux, il suffit de double-cliquer sur une ligne du quadrillage de fond gris d’un programme où une connexion doit être établie ou bien cliquez et faites glisser d’un élément à un autre (ou à une ligne).

5.6.20 Déconnecter des éléments

Pour déconnecter des éléments entre eux, cliquez avec le bouton droit de la souris sur le connecteur et sélectionnez « Déconnecter » ou double-cliquez sur la connexion que vous souhaitez supprimer.

5.7 Créer un programme

Pour mieux comprendre comment fonctionne MicroLADDER, quelques exemples de programme sont présentés ci-dessous:

5.7.1 Créer un premier programme simple en LADDER

Afin d’avoir une première approche, on va programmer un automate pour exécuter une tâche simple.
Notre système va se composer de:

  • un automate MicroArm-A1
  • l’écran de l’automate MicroArm-A1 dont le rétro-éclairage LED est une entrée à l’adresse %Q0
  • un bouton poussoir: entrée numérique à l’adresse %I100
  • une LED: sortie numérique à l’adresse %Q100
Information
Les valeurs de ces adresses ne sont pas données au hasard mais sont indiquées dans la documentation technique de l'automate.

Notre programme va devoir respecter le cahier des charges:

  • La LED ne sera allumée que lorsqu’on appuie sur le bouton poussoir. Sinon, elle restera éteinte
  • Quand la LED est allumée (ce qui signifie que le bouton poussoir est poussé), l’écran du MicroARM-A1 a aussi le rétro-éclairage allumé et le texte affiché est le suivant :
    – Première ligne : « LED is on » positionné sur le côté gauche de l’écran
    – Deuxième ligne : « Screen is on » positionné sur le côté gauche de l’écran
  • Lorsque la LED est éteinte (ce qui signifie que le bouton poussoir est relâché), l’écran du MicroARM-A1 a le rétro-éclairage éteint et le texte affiché est le suivant :
    – Première ligne : « LED is OFF » positionné sur le côté droit de l’écran
    – Deuxième ligne : « L’écran est éteint » positionné sur le côté droit de l’écran

Pour écrire ce programme, la fonction WriteText est utilisée. La capture d’écran suivante montre ce programme déjà implémenté dans le MicroLADDER.

Capture d’écran de la fenêtre principale de MicroLADDER avec la fonction WriteText
InterprétationInterprétation DigitaleLadder
Quand on pousse le bouton…%I100 change de 0 à 1Front montant
Quand on éteint le bouton…%I100 change de 1 à 0Front descendant
…LED ou écran à ON%Q100 ou %Q0 est mis à 1Set
…LED ou écran à OFF%Q100 ou %Q0 est à mis 0Reset
Tableau sur l’interprétation textuelle en interprétation digitale et Ladder

5.7.2 Créer un premier programme simple en C

On va créer le même programme que précédemment (même système et même cahier des charges) mais le code sera du C.

if (%I100 == 1)
{
  %Q100=1;
  %Q0=1;
  WriteText(“LED is ON”,”Screen is ON”,0,0);
}
else
{
  %Q100=0;
  %Q0=0;
  WriteText(“LED is OFF”,”Screen is OFF”,2,2);
}

5.7.3 Créer un premier programme simple combinant Ladder et C

Comme nous l’avons déjà mentionné dans les sections précédentes, il est également possible de combiner un programme contenant à la fois du code Ladder et du code C en le structurant dans des pages différentes. Le même programme que celui expliqué précédemment est divisé en deux pages comme suit :

  • Une première page comprend le programme qui affiche le texte à l’écran lorsque l’on appuie sur le le bouton poussoir.
  • Une deuxième page contient le programme qui active la LED et le rétro-éclairage de l’écran LED.
    Cela peut se faire de deux manières :
    – Première méthode: le programme principal est écrit en Ladder et appelle une page C.
    – Deuxième méthode: le programme principal est écrit en code C et il appelle une page Ladder.
5.7.3.1 Première méthode

Contenu de la page 1:

Capture d’écran du contenu Ladder de la fenêtre principale de MicroLADDER

Contenu de la page 2:

if (%I100==1)
{
  %Q100=1;
  %Q0=1;
}
else
{
  %Q100=0;
  %Q0=0;
}
5.7.3.2 Deuxième méthode

Contenu de la page 1:

if (%I100 == 1)
{
  WriteText("LED is ON","Screen is ON", 0,0);
  page_2();
}
else
{
  WriteText("LED
  page_2();
}

Contenu de la page 2:

Capture d’écran du contenu Ladder de la fenêtre principale de MicroLADDER

5.7.4 Compiler et charger un programme sur l’automate

Après avoir créé le programme, il faut le compiler avant de le charger dans l’automate.
Il est conseillé de sauvegarder le projet avant de le compiler en cliquant sur l’onglet « Fichier » puis sur « Enregistrer » dans la barre de menu.
On peut ensuite compiler le programme en cliquant sur l’onglet « Programme » puis sur « Compiler » toujours dans le barre de menu. Une fenêtre popup apparaît, nous demandant de spécifier l’endroit où l’on souhaite sauvegarder ces nouveaux fichiers:

  • Si l’automate est équipé d’un lecteur de carte SD et que l’on souhaite charger le programme par ce biais alors on copie directement les fichiers sur la carte SD. Le programme sera automatiquement chargé lors de l’insertion de la carte SD dans l’automate.
  • Si on ne souhaite pas charger le programme avec la carte SD ou si l’automate ne permet pas cette option, on sélectionne simplement un dossier sur l’ordinateur. On a la possibilité de charger le fichier héxadécimal (.hex) sur l’ordinateur via MicroLADDER ou le logiciel MicroCONTROL.

Si la compilation est réussie, les fichiers main.hex, main.cfg, loadmain et size.txt auront été créés et une seule nouvelle fenêtre « Fichiers copiés » apparaîtra pour confirmer que la compilation a réussi.

S’il y a des erreurs dans le programme, une fenêtre popup « Erreurs de compilation » apparaîtra ainsi qu’une deuxième fenêtre popup contenant tous les fichiers et dossiers nécessaires à la compilation. Ce sont les fichiers et dossiers du code système. Tant qu’il y aura des erreurs dans le programme, ce dernier ne compilera et ces deux fenêtres s’ouvriront.

Capture d’écran de la fenêtre popup des fichiers et dossiers du code système lors d’une erreur de compilation

5.8 Créer un bloc fonction

Sous MicroLADDER, une fonction peut être créée de deux manières différentes:

  • soit dans le même programme que l’application qui l’appelle. Dans ce cas, la fonction sera juste appelée comme dans les autres langages
  • soit dans un programme « Bloc fonction ». Dans ce cas là, il va falloir l’importer avant qu’une application puisse l’utiliser. Cela peut être utile pour gérer des sous-parties identiques dans un programme ou dans plusieurs programmes. Pour déclarer une fonction dans un bloc fonction, cliquez sur l’onglet « Programme » puis sélectionnez « Type de programme » puis « Bloc fonction ».

    Une fonction peut également appeler d’autres fonctions.
    Dans cette partie, on va se concentrer sur la création de fonction dans un bloc fonction.

5.8.1 Définition des variables

On a explicité précédemment que l’on peut déclarer automatiquement des variables. C’est toujours possible de faire cela dans un bloc fonction mais il est nécessaire de définir manuellement les variables d’entrée et de sortie de la fonction créée.

Si on choisit de coder une fonction dans un “Bloc fonction” alors quatre types de variables différentes pourront y être déclarées. Pour choisir le type d’une variable, allez dans l’éditeur de variable puis allez dans les « Propriétés de la variable » puis sur l’onglet « Programmation ». Le type de la variable est à sélectionner dans le menu déroulant « Paramètre »:

  • interne: la variable n’est valable qu’à l’intérieur de la fonction. Elle est initialisée à chaque appel d’une fonction, sauf dans le cas où la propriété « Globale » est sélectionnée.
  • entrée: la valeur donnée par l’application appelante est envoyée à l’appel de la fonction. La valeur sera visible dans le bloc de la fonction sur la page Ladder.
  • sortie: la valeur est renvoyée à l’application appelante à la fin de l’exécution de la fonction. La valeur sera visible dans le bloc de la fonction sur la page Ladder.
  • externe: à l’appel de la fonction, la variable prend la valeur que lui donne l’application appelante. A la fin de l’exécution de la fonction, la valeur est renvoyée à l’application appelante. Elle n’apparaît pas dans l’objet Ladder de la fonction sur une page Ladder.

5.8.2 Utilisation d’un bloc fonction

Le bloc fonction doit être importé à l’intérieur de l’application en cliquant sur l’onglet « Librairie » puis sur « Importer une fonction ». Une fenêtre s’ouvre permettant de sélectionner le fichier du bloc fonction voulu.
Une seule importation est suffisante, même si la fonction est utilisée plusieurs fois.

Cependant à chaque changement fait dans le bloc fonction, on est obligé d’importer à nouveau le bloc fonction. Après avoir sélectionné le fichier du bloc fonction, une fenêtre popup s’ouvrira. Cliquez sur « Oui » pour écraser le bloc fonction existant sinon cliquez sur « Non ».

5.8.2.1 Importer une fonction

Un objet « Fonction » doit être importer dans une page du programme en cliquant sur l’onglet « Librairie » puis sur « Importer une fonction ».
Pour les données de type binaire, les contacts et les bobines peuvent être connectés aux connexions de la fonction. Pour les données de type numérique, il faut double-cliquer sur la fonction et définir les variables échangées. Cette dernière méthode peut également être utilisée pour les données de type binaire.

Information
Une fonction ne peut pas accéder aux bits des mots système (%S et %SW). Ils doivent être accédés en tant que paramètres.
Chaque fois qu'une fonction est utilisée, elle organise son propre espace mémoire. Cela permet d'utiliser la même fonction plusieurs fois dans un programme et de sauvegarder des données en mémoire à chaque appel, du cycle actuel au cycle suivant.
5.8.2.2 Utiliser une fonction en Ladder

En Ladder, pour utiliser une fonction que l’on a importée, il faut insérer un objet “Fonction”, en faisant un clic-droit sur la page puis en sélectionnant “Fonction”. Un menu déroulant, nous demande alors quelle fonction on souhaite importer. Cliquez sur celle que vous voulez utiliser.

Il faut maintenant passer à la déclaration des données en entrées et en sorties (si il y en a). Les données d’entrées de type binaire, les contacts et les bobines peuvent être reliés aux de la fonction. Pour les données de type numérique, il faut double-cliquer sur la fonction et définir les variables échangées. Cette dernière méthode peut également être utilisée pour les données de type binaire.

Capture d’écran d’une initialisation de variables d’une fonction
5.8.2.3 Utiliser une fonction en C

En C, la fonction doit être appelée par son nom et les variables doivent être introduites comme paramètres dans l’ordre où elles ont été déclarées : d’abord les variables d’entrée, puis les variables de sortie et enfin les variables externes. Cette démarche est similaire à l’appel d’une fonction en langage C classique, avec les variables de sortie et externes en plus.

string1=”Good morning”;
string2=”Good night”;
align1=1;
align2=1;
WriteText (string1, string2, align1, align2);

5.9 Créer des fonctions et des variables globales

Si sur une page, on souhaite utiliser des fonctions ou variables déclarées et définies sur une autre page C alors il y a une manipulation à réaliser avant de pouvoir les utiliser.
En effet, sur la page C qui contient les fonctions et variables globales, on doit englober ces dernières dans des balises global de cette manière:

<global>

(déclaration de variables et/ou déclaration et/ou définition de fonction)

</global>

5.10 Utiliser les timers

5.10.1 C’est quoi une temporisation ?

Une temporisation a un statut parmi :

  • temporisation terminée: lorsque la valeur du temporisation est égale à zéro.
  • temporisation active: lorsque la valeur de la temporisation est supérieure à zéro et inférieure à la valeur de sa période de compte à rebours. Dans ce cas, sa valeur diminue avec la période de compte à rebours indiquée dans la variable.

5.10.2 Mieux comprendre les temporisations

Au premier état, il n’y a pas de temps écoulé (la variable binaire Tempo_elapsed est à 0), la valeur de la période de décompte (100) est chargée dans la variable Tempo. L’état de la temporisation est inactif. Tant que Tempo_elapsed est à 0, la variable Tempo reste à 100, donc aucun compte à rebours n’est effectué.

Au deuxième état, la variable binaire Tempo_elapsed est mise à 1. La valeur de la période de compte à rebours (100) n’est plus écrite dans la variable Tempo et la valeur de Tempo diminue. L’état de la temporisation est active.

Au troisième état, la valeur de Tempo tombe à 0 après le compte à rebours. La temporisation a expiré, elle est à nouveau inactive.

5.10.3 Comment utiliser une temporisation ?

Pour utiliser une temporisation, la propriété « Timer(en ms) » d’une variable doit être définie. Allez dans l’éditeur de variable puis double-cliquez sur la variable sur laquelle vous souhaitez mettre une minuterie. Une fenêtre popup s’ouvre et allez dans l’onglet « Programmation » puis remplissez les champs “Valeur initiale” par la valeur de la temporisation. Dans le champs “Timer (en ms)”, écrivez le pas de décrémentation. Si on veut que notre minuterie soit décrémentée toutes les 1 s, écrivez alors 1000 dans ce champs.

La période de compte à rebours (en ms) du champs “Timer (en ms)” et la valeur de minuterie sera gérée par le système comme une temporisation.

L’utilisation d’une temporisation en Ladder ou en C est similaire pour les deux cas.

5.10.3.1 Exemple d’utilisation d’une temporisation

Pour mieux comprendre comment utiliser une minuterie on utilise l’exemple suivant:

En considérant à nouveau l’automate MicroARM-A1, on va se servir du programme décrit section 5.7 Créer un programme pour lui rajouter de nouvelles fonctionnalités: 

– En appuyant sur le bouton (%I0), un compteur est activé. Ce compteur ne compte que le temps pendant lequel il est poussé.
– En relâchant le bouton, le compteur se remet à zéro.
– Après trois secondes d’appui sur le bouton, le rétro-éclairage de l’écran LCD s’allume s’il était éteint, ou s’éteint s’il était allumé.

Ce programme peut être créé en Ladder comme le montre la capture d’écran suivante:

Capture d’écran d’un programme Ladder sur la fenêtre principale de MicroLADDER

Une nouvelle variable booléenne (%M1) indiquant si le bouton est appuyé(1) ou non(0) a été rajoutée. Pour établir la temporisation, écrivez trois dans le champs “Valeur initiale” et 1000 dans « Timer (en ms) » pour que le compteur soit décrémenté toutes les secondes.

6. Environnement logiciel

6.1 Architecture du système

6.1.1 Moniteur

Le moniteur est la couche logicielle de base. Il permet ensuite de charger l’application logicielle. L’utilisateur n’aura pas besoin de le modifier, sauf si un nouveau téléchargement de logiciel peut nécessiter le rechargement du logiciel moniteur.

Si une carte SD est disponible à la mise sous tension, les paramètres FORCE_MON et RUN du fichier « MAIN.CFG » disponible sur la carte SD détermineront le lancement de la boucle principale et de l’application.

Les paramètres sont sauvegardés en même temps sur la carte SD et sur l’EEPROM. Il est donc possible de fonctionner sans la carte SD. Le moniteur est chargé par Sirea.

6.1.1.1 Connaître l’état de fonctionnement de l’automate grâce une LED

Chaque automate possède une LED qui peut être soudée sur la carte ou accessible par un connecteur. On peut connaître le mode de fonctionnement de l’automate en fonction de comment va clignoter la LED.

6.1.1.1.1 Mode surveillance

La LED clignote lentement : 500 ms allumée/ 500 ms éteinte. L’automate est sous contrôle Modbus. Il peut être contrôlé par MicroCONTROL.

6.1.1.1.2 Transfert du programme de la carte SD vers la mémoire de l’API

La LED clignote rapidement : 100 ms allumée/ 100 ms éteinte.

Le transfert ne dure que quelques secondes. Il se produit lorsque MicroCONTROL a été transféré. On peut le transférer en appuyant sur le bouton ou en passant le paramètre de la carte SD.

6.1.1.1.3 Mode STOP

La LED clignote lentement et reste principalement éteinte : 100 ms allumée/ 900 ms éteinte.
L’automate n’est plus sur le moniteur, la boucle principale commence, l’application ne s’exécute pas. Notre automate est stoppé.

6.1.1.1.4 Mode RUN

La LED clignote lentement et reste principalement allumée : 900 ms allumée/  100 ms éteinte. L’application s’exécute.
Notre automate est alors en fonctionnement.

6.1.1.1.5 Versions incompatibles entre le moniteur et l’application

La LED s’allume en rouge statique. Cela ne se produit que lorsque l’application démarre et que les structures de données enregistrées par le moniteur sont différentes des structures de données enregistrées par l’application. Cela peut créer des problèmes avec les variables enregistrées.

6.1.2 Fichier main.cfg

Ce fichier se trouve sur la carte SD. Il contient le paramétrage. Il est lu et réécrit lors du lancement de l’application ou de l’insertion de la carte SD.
Par conséquent, si le fichier est modifié, il est entièrement réécrit. Si des modifications doivent être apportées à ce fichier, il est important de procéder avec précaution.
Certaines caractéristiques de ce fichier peuvent être modifiées par des variables si nécessaire.

Variables du fichier main.cfgDescription
FORCE_MONSi elle est à 1, elle impose de rester sur le moniteur et de ne pas lancer l’application
LOADSi elle vaut 1, indique qu’il faut charger le programme en mémoire. Elle est ensuite remise à 0 à la fin du chargement
FIRST_RUNSi elle vaut 1, indique qu’il faut initialiser les variables. Il n’est pas nécessaire de la mettre à 1 lors d’un chargement de l’application car le système le fait tout seul. C’est la variable %S2
RUNSi elle vaut 1, permet de passer de l’application en STOP à l’application en RUN
RESET_SWSi elle vaut 1, indique qu’il y a eu un dépassement du temps de cycle (chien de garde) et bloque l’automate sur la boucle principale. C’est la variable %S21
RESET_CFGSi elle vaut 1, permet de réinitialiser les variables du fichier « main.cfg »
LOAD_IO_CFGSi elle vaut 1, permet de recharger le fichier « var.csv » et de réinitialiser l’historique des courbes, alarmes et évènements. C’est la variable %S19
MODE_DSTSi elle vaut 1, permet de mémoriser la gestion de l’heure d’été. C’est la variable %SW11
TIME_OFFPermet de régler le décalage par rapport à l’heure UTC en minute. Elle est utile pour les mise à l’heure automatique. C’est la variable %SW12
BOOT_VERIndique la version du boot installé sur l’automate. C’est la variable %SW23
W_SSIDPermet de régler le SSID (nom du point d’accès) pour le Wi-Fi. La norme autorise jusqu’à 32 caractères
W_STYPEPermet de régler le type de cryptage pour le Wi-Fi. Les valeurs possibles sont «  » (chaîne de caractères vide utilise la détection automatique), OPEN (pas de cryptage), WEP, WPA, WPAAES, WPA2AES, WPA2TKIP, WPA2
W_SKEYPermet de régler la clé de sécurité pour le Wi-Fi
Tableau des variables disponibles pour le fichier main.cfg

L’exemple suivant est le code d’un fichier main.cfg avec des valeurs par défaut. L’automate lancera la boucle principale de l’application présente dans la mémoire. S’il n’y a pas d’application, le système sera bloqué.

FORCE_MON=0
LOAD=0
RUN=0

6.1.3 Fichier Loadmain

Lorsque ce fichier est présent sur la carte SD, l’application est rechargée et le fichier est supprimé.

Cette méthode est équivalente à la mise à 1 de la variable LOAD, mais elle évite de modifier les autres variables du fichier main.cfg. Le contenu du fichier n’est pas important, seule sa présence compte. Il est donc possible de créer un fichier appelé « loadmain » sur la carte SD. L’automate détecte ce fichier et charge le fichier main.hex dans sa mémoire. La méthode la plus rapide est de laisser MicroLADDER sauvegarder les fichiers compilés directement sur la carte SD, puis de placer la carte SD dans l’automate.

6.1.4 Charger un programme

Il n’est pas obligatoire de posséder une carte SD. Si vous en avez une, elle doit être formatée en FAT32. Sinon on peut charger un programme via la réseau.

6.1.4.1 Via le réseau avec MicroLADDER

Le logiciel MicroLADDER permet de charger des fichiers héxadécimal (.hex), c’est-à-dire des fichiers déjà compilés.

Le transfert peut se faire par un port série ou par le port Ethernet. Il est donc possible de le charger à distance depuis le code de l’application. Pour cela, il faut aller sur l’onglet « Communication » puis cliquez sur « Chargement d’un programme ». Une fenêtre s’ouvrira nous permettant de sélectionner le fichier hexadécimal à transférer.

Le transfert du fichier s’effectue d’abord sur la carte SD, si une carte SD est disponible. Après le processus de transfert, le fichier sera chargé dans la mémoire de l’automate. L’application peut ensuite être lancé via MicroLADDER en allant sur l’onglet « Communication » puis en cliquez sur « Démarrage du programme ».

Dans le cas où l’on charge pour la première fois une application dans l’automate, il est nécessaire d’établir FORCE_MON=1 dans le fichier MAIN.CFG de la carte SD. Dans le cas contraire, l’automate essaiera de lancer la boucle principale de l’application, même si elle n’existe pas.

6.1.4.2 Via Carte SD

Si l’automate comprend une carte SD, vous pouvez simplement copier le fichier compilé par MicroLADDER (main.hex) sur la carte SD et créer le fichier main.cfg qui contient les informations suivantes :

FORCE_MON=0
LOAD=1
RUN=1

La carte SD doit ensuite être insérée dans l’automate. La LED d’état de fonctionnement indique le transfert du programme de la carte SD vers la mémoire de l’automate par un clignotement rapide. Une fois le programme transféré, la LED d’état de fonctionnement indique l’exécution de l’application par un clignotement, principalement avec la LED d’état allumée.

6.1.5 Sauvegarde des variables

6.1.5.1 RAM Sauvegardée

Certains automates disposent d’une RAM sauvegardée. Il suffit de cocher l’option « Sauvegardée » dans les propriétés de la variables et le système gère de façon autonome la sauvegarde.

6.1.5.2 EEPROM ou FRAM

Si l’automate ne dispose pas de RAM sauvegardée mais d’une EEPROM ou FRAM, il est possible d’utiliser les variables sauvegardées. Lorsque %S18 passe à 1, le système lance une sauvegarde de toutes les variables qui ont la propriété « Sauvegardée » de cochée.
Avec cette version de MicroLADDER, il ne faut plus utiliser les instructions de sauvegarde manuelle. En effet, il y a trop de risque d’utiliser des zones mémoire utilisée par le système.

6.1.5.3 Mots systèmes

Les mots systèmes %SW15 à %SW22 sont à la disposition de l’utilisateur pour sauvegarder des mots dans la carte SD. Les sauvegardes ne sont effectuées que s’il y a une modification de valeur. Les sauvegardes peuvent avoir lieu à la fin de la communication Modbus avec la console de programmation (si forçage de valeur par la communication) et à la fin du tour de cycle automate (si modification de valeur par l’application).
Chaque sauvegarde prend de 180 à 200ms.
La lecture de ces mots est effectuée de façon transparente à l’initialisation.
Il y a une double sauvegarde sur la carte SD et dans la EEPROM ou FRAM.

6.2 Types de données

Il est important de noter que MicroLADDER gère les variables de l’API qui peuvent être utilisées dans les objets Ladder, c’est-à-dire celles qui sont accessibles à la surveillance en temps réel par le logiciel. Cependant, dans des pages C, les variables internes déclarées peuvent être d’un autre type que celles proposées par MicroLADDER.

6.2.1 Entrées TOR

Une entrée TOR vaut soit 1 ou 0. Le préfixe d’une entrée TOR est %I. Un exemple est %I0. Les données sont accessibles en Modbus standard en faisant un décalage (%I0 ⇒ %M20000).

Le nombre d’entrées TOR varient en fonction de l’automate.

6.2.2 Entrées analogiques

La plage de valeur ainsi que le nombre de valeurs varient en fonction de l’automate utilisé. Le préfixe pour une entrée analogique est %IW. Un exemple d’entrées analogique est %IW100.

Sur certains automates, les entrées analogiques peuvent être configurées par des cavaliers. Il faut ensuite accorder la propriété « Configuration » de la variables analogiques à l’aide de MicroLADDER afin d’avoir la bonne plage de valeur et le bon étalonnage.

Propriété « Configuration »Type d’entrée analogique
0Configuration par défaut. Correspond à la configuration disponible sur l’automate ayant la valeur de la propriété de configuration la plus petite
10-20mA. Plage de valeur généralement 0-20000 points
20-10V. Plage de valeur généralement 0-10000 points
3PT100. Valeur de température généralement en dixième de degrés Celsius
Tableau sur les types d’entrées analogiques

Les plages de valeurs peuvent être différentes suivant l’automate. Ces données sont accessibles en Modbus standard en faisant un décalage (%IW0 ⇒ %MW40000).

6.2.3 Sorties TOR

Une sortie TOR vaut soit 1 ou 0. Le préfixe d’une sortie TOR est %Q. Un exemple est %Q0. Le nombre de sorties TOR varient en fonction de l’automate.
Les données sont accessibles en Modbus standard en faisant un décalage (%Q0 ⇒ %M21000).

6.2.4 Sorties analogiques

La plage de valeur ainsi que le nombre de valeurs varient en fonction de l’automate utilisé. Le préfixe pour une entrée analogique est %QW. Un exemple de sortie analogique est %QW0.
Les données sont accessibles en Modbus standard en faisant un décalage (%QW0 ⇒ %M41000).

6.2.5 Sorties MLI (Modulation de Largeur d’Impulsions)

Tous les automates n’ont pas des sorties MLI (Modulation de Largeur d’Impulsions). Par exemple parmi les plus utilisés les automates MicroARM-12 et MicroARM-A2 ont des sorties MLI. Pour l’automate MicroARM-12, les deux sorties de MLI sont %Q100 et %QW101. Pour l’automate MicroARM-A2, les deux sorties sont %QW102 et %QW103. Pour plus de renseignements, se référer à la fiche technique de chaque automate.

La variable %SW26 définit la fréquence en Hz. Cette valeur doit être comprise entre 0 et 65535 Hz (en pratique l’électronique ne permet pas d’aller à une fréquence supérieure à 10000 Hz).

Une variable %QW par sortie MLI définie le rapport cyclique. Cette valeur doit être comprise entre 0 et 1000. Par exemple, pour obtenir un créneau de temps à 1 de 20% et 0 de 80%, if faut mettre %QW à 200. Le signal de sortie MLI varie entre 0V et Vcc (tension d’alim).
Pour créer une sortie en binaire, il faut paramétrer %SW26 à 0 et écrire 0 ou 1000 dans la variable %QW pour mettre la sortie TOR à 0 ou 1.
Par défaut, %SW26 vaut 0 et les %QW valent 0, ce qui correspond à une sortie toujours à 0V.
Lorsque %SW26 vaut 0, la fréquence est en réalité égale à la fréquence maximale dont peut aller le microcontrôleur de l’automate (cette fréquence est au moins égale à 100000 Hz et peut aller jusqu’à 250000 Hz). Ceci permet de réagir plus rapidement à un changement d’état en mode binaire car la période en cours se termine forcément avant d’appliquer le nouveau rapport cyclique.

Information
- Il est possible de paramétrer une fréquence allant jusqu'à 65535 Hz. Cependant, lorsque la fréquence devient trop élevée, le signal devient beaucoup moins bon (changement d'état transistor), voire inutilisable.
- La limite maximale est d'environ 10 kHz suivant la charge.
- Pour visualiser le signal à l'oscilloscope, il faut connecter une résistance de charge (environ 1 kOhm) aux bornes de la sortie.

6.2.6 Bits

La valeur est soit 0 ou 1. Une variable bit aura le préfixe %M. Un exemple de bit est %M0.
Les bits sont des bits de caractères. De ce fait, 8 bits utilisent en mémoire 1 seul octet. L’accès à un bit est plus long que l’accès à un octet ou un mot

6.2.7 Entiers

La valeur est comprise entre 0 et 65535. Une variable entière aura le préfixe %MW (Main Word). Un exemple est %MW0.

6.2.8 Long

La valeur est comprise entre – 2 147 483 648 et 2 147 483 647. Une variable long aura le préfixe %MD. Un exemple est %MD0.
Les données sont accessibles en Modbus standard en faisant un décalage (%MD0 ⇒ %MW20020).

6.2.9 Float

La valeur est comprise entre 3.4 * 10^-38 et 3.4 * 10^38. Une variable float aura la préfixe %MF. Un exemple est %MF0.
Les données sont accessibles en Modbus standard en faisant un décalage (%MF0 ⇒ %MW30020).

6.2.10 Chaînes de caractères

La longueur de la chaîne de caractères est indiquée dans le champs « Nombre de caractères ». Une variable de type chaînes de caractères aura un préfixe %MS (Main String). Un exemple de variable est %MS0.
Pour accéder au n ème caractères de la chaîne %MS0, il faut écrire %MS0[n-1]. Par exemple, on accède au 5ème caractères du tableau avec MS0[4].

6.2.11 Tableaux

Il nous ait souvent demander de créer des tableaux d’entiers, de flottants, de chaînes de caractères… . Dans ce cas, après avoir choisi le type de la variable (1er champs de l’onglet « Propriétés de la variable »), il faut remplir le champ « Adresse » avec la valeur construite de la manière suivante: adresse[]. Il faut ensuite remplir le champ « Nombre d’éléments » par la valeur de la taille du tableau. Par exemple, dans la capture d’écran ci-dessous, on a créé un tableau de 100 éléments dont le premier élément sera à l’adresse 100. Pour accéder au n ème élément, il faut écrire %MW100[n-1]. Par exemple on accède au 5ème élément avec (%MW100)[4]

Après avoir validé notre tableau, il faut créé toutes les variables qui composent les cases de notre tableau. Par exemple, si on a créé un tableau d’entiers de 100 éléments à l’adresse %MW100, on va devoir créé 100 variables de type entier. Dans la capture d’écran suivante, on a créé une première variable (1er case du tableau) à l’adresse %MW100, une deuxième variable (2ème case du tableau) à l’adresse %MW101… .

6.2.12 Bits système

Ces données sont accessibles en Modbus standard en faisant un décalage (%S0 ⇒ %M22000).

Pour la suite le terme « scrutation du programme » signifie que l’automate va éxécuter de manière séquentielle le programme.

BitMnémoniqueOngletDescription
%S0MSTContrôle du cycleBit mis à 1 au premier cycle du programme système qui suit après une mise sous tension ou un rechargement du programme.
Bit rétabli à 0 automatiquement après l’exécution du premier cycle.
Ce bit est légèrement différent de %S16 (DEM_C).
%S1RUNContrôle du cycleBit à 1, est mis à l’état 0 par le programme utilisateur ou en mode écriture de données par la liaison série (commande RUN/STOP)
Bit à 1 : scrutation du programme.
Bit à 0 : arrêt du programme.
%S2INITGestion des variablesBit à 0, est mis à l’état 1 par le système au démarrage du programme ou en mode écriture de données par la liaison série (commande INIT).
Bit à 1 : chargement des valeurs initiales dans les valeurs de données.
Pas de modification des variables sauvegardées.
Est remis à 0 automatiquement à la fin de l’initialisation.
%S3Réservé
%S4Réservé
%S5
%S6
%S7
%S8
MSEC_10
MSEC_100
SEC_1
MIN_1
HorodateurBits dont le changement d’état est cadencé par l’horloge interne.
Ils sont asynchrones par rapport au cycle de scrutation du programme.
%S9Réservé
%S10Réservé
%S11INIT_QGestion des entrées/ sortiesBit à 0, est mis à l’état 1 dans le programme utilisateur ou en la forçant depuis l’éditeur de variables.
Bit à 1 : provoque la mise à 0 des sorties.
Bit à 0 : les sorties sont mises à jour par le programme utilisateur.
%S12GEL_QGestion des entrées/ sortiesBit à 0, est mis à l’état 1 dans le programme utilisateur ou en la forçant depuis l’éditeur de variables.
Bit à 1 : provoque le figeage des sorties dans l’état.
Bit à 0 : les sorties sont mises à jour par le programme utilisateur.
%S13MAJ_HBit à 0, est mis à l’état 1 dans le programme utilisateur ou en la forçant depuis l’éditeur de variables.
Bit à 1 : utilisé pour faire une mise à l’heure et à la date : copie les valeurs des %SW5 à %SW10 correspondant dans l’horloge système.
Bit à 0 : les mots %SW5 à %SW10 sont rafraîchis par le système afin d’indiquer l’heure et la date en cours.
Depuis le 29/06/12, ce bit ne sert plus et n’apparaît plus dans l’éditeur de variables. Il est possible de modifier %SW5 à %SW10 n’importe quand. La modification est prise à la fin du tour de cycle automate.
%S15CDGChiens de gardeBit à 0, est mis à l’état 1 par le système dès que le temps de cycle du programme devient supérieur au temps de cycle maximum défini dans le mot système SW1.
Est remis automatiquement à 0 par une commande INIT ou à la mise sous tension (mode MST) ou par le programme utilisateur
%S16DEM_CContrôle du cycleBit à 1 au premier tour de scrutation programme utilisateur quelle que soit la cause du redémarrage (mise sous tension, rechargement, démarrage par la console).
Est remis à 0 automatiquement à la fin du 1° cycle.
Ce bit est légèrement différent de %S0 (MST).
%S17Réservé
%S18SAV_VARSGestion des variablesBit à 0, est mis à l’état 1 dans le programme utilisateur ou en la forçant depuis l’éditeur de variables.
Provoque une sauvegarde dans la EEPROM ou la FRAM, des variables déclarées sauvegardées.
Ce bit est remis à 0 à la fin de la sauvegarde. Voir la section 6.1.5 Sauvegarde des variables pour plus de détails.
Attention il ne faut pas faire de sauvegarde en permanence car la EEPROM a un nombre d’écriture limité.
%S19LOAD_IO_CFGBit à 0, est mis à l’état 1 dans le programme utilisateur ou en la forçant depuis l’éditeur de variables.
Provoque la relecture du fichier « var.csv » et la réinitialisation de l’historique des alarmes et évènements.
%S20RESET_HARDChiens de gardeNon géré
%S21RESET_SOFTChiens de gardeBit à 0, est mis à 1 par le système après un reset soft par le watchdog. Ce bit est remis à 0 lors du redémarrage du programme.
Voir la section 6.3 Watchdog pour plus de détails.
%S22RESET_ERRChiens de gardeNon géré
%S23Réservé
%S24ALM_BAT_RTCHorodateurNormalement à 0, est mis à 1 par le système lorsque la batterie de
sauvegarde est faible
%S25DHCPEthernetUtiliser DHCP pour paramétrer le port Ethernet. Le socket 3 est utilisée pour la demande initiale et pour des demandes périodiques.
Cela signifie que le DHCP prend temporairement la main sur le socket au détriment de l’utilisation prévue par l’application.
%S26W_DHCPWifiUtiliser DHCP pour paramétrer le port Wi-Fi. Contrairement à l’Ethernet, le module Wi-Fi utilise un socket interne qui ne perturbe pas l’application.
%S27 à %S49Réservé
Tableau sur la définition des bits systèmes

6.2.13 Mots systèmes

Ces données sont accessibles en MODBUS standard en faisant un décalage (%SW0 ⇒ %MW42000).

6.2.13.1 Détail Modbus
BitMnémoniqueOngletDescription
%SW0T_CYCChiens de gardeTemps de cycle automate en ms.
Accessible seulement en lecture.
%SW1S_CYCChiens de gardeSurveillance du temps de cycle automate.
Valeur de référence permettant au système de contrôler un dépassement de temps de scrutation (SW0 > SW1) et de positionner le bit %S15 (CDG). Il n’y a pas d’arrêt de l’application.
Accessible en lecture et écriture.
%SW2Mx_CYCChiens de gardeValeur de timeout du temps de cycle automate.
Valeur de référence permettant au système de contrôler un dépassement maximal du temps de scrutation. En cas de dépassement (SW0 > SW2), le système effectue une sauvegarde des variables, force les sorties TOR et analogiques à 0 et passe l’automate en mode STOP. Le bit %S21 (RESET_SOFT) est positionné à 1.
Accessible en lecture et écriture.
%SW3Réservé
%SW4WD_HARDChiens de gardeNon géré
%SW5
%SW6
%SW7
%SW8
%SW9
%SW10
SECONDE
MINUTE
HEURE
JOUR
MOIS
ANNEE
HorodateurFonction date et heure.
Mots contenant les valeurs courantes de la date et l’heure.
Depuis le 29/06/12, ces mots sont accessibles en lecture et écriture en permanence, sans tenir compte de l’état de %S13 (MAJ_H).
%SW11MODE_DSTHorodateurGestion automatique de l’heure d’été (valable depuis le 16/07/12).
• Valeur 0 : le système gère automatiquement le passage à l’heure d’été d’après les conventions européennes.
• Valeur 1 : le système gère automatiquement le passage à l’heure d’été d’après les conventions américaines et canadiennes (valable depuis le 02/02/21 et le code système 14.10).
• Valeur 2 à 65534 : réservé pour de futurs modes.
• Valeur 65535 : pas de gestion automatique de l’heure d’été.
Le composant matériel (RTC) reste toujours à l’heure d’hiver. C’est la valeur utilisable dans les mots système (%SW5 à %SW10) qui tient compte du passage à l’heure d’été
%SW12TIME_OFFHorodateurDécalage par rapport à l’heure UTC (en minutes).
Pour la France, il faut mettre 60.
%SW13VERSION_SYSInformations systèmeVersion du code système. Seulement en lecture.
%SW14VERSION_APPInformations systèmeVersion de l’application. Ce mot est à la disposition de l’utilisateur pour stocker le numéro de version de son application.
%SW15
%SW16
%SW17
%SW18
%SW19
%SW20
%SW21
%SW22
SAV1
SAV2
SAV3
SAV4
SAV5
SAV6
SAV7
SAV8
Gestion des variablesCes 8 mots sont à la disposition de l’utilisateur pour sauvegarder des mots. Voir la section 6.1.5 Sauvegarde des variables pour plus de détails.
%SW23VERSION_BOOTInformations systèmeVersion du boot. Valable depuis le code système V8.0 du 26/07/16.
%SW24VERSION_MLADDERInformations systèmeVersion de MicroLADDER qui a servi à la compilation. Valable
depuis MicroLADDER V11.0 du 16/08/16.
%SW25FREQ_TIMERInterruptionPériode d’appel des fonctions interruptives en µs. Les fonctions qui doivent être appelés doivent avoir la propriété « Appeler sur
interruption » de validée.
Valeur 0 : pas d’appel.
Valeur différente de 0 : période d’appel en µs.
Cette valeur n’est pas sauvegardée. Elle doit être initialisé par le programme. Au cours du programme, il est possible de la modifier à volonté. Une valeur trop faible bloque l’automate.
%SW26FREQ_PWMGestion des entrées/ sortiesFréquence de la sortie MLI.





%SW27
%SW28
%SW29
%SW30
%SW31
%SW32





FET1
FET2
FET3
FET4
FET5
FET6
Masque de lecture. Il permet d’empêcher le rafraîchissement des entrées. Chaque entrée est associée à un bit.
1 er et 2 nd octets d’entrée
3 ième et 4 ième octet d’entrée
5 ième et 6 ième octet d’entrée
7 ième et 8 ième octet d’entrée
9 ième et 10 ième octet d’entrée
11 ième et 12 ième octet d’entrée
Remarque : une carte d’entrée de 16 bits peut être à cheval sur 2
mots système.
Ces variables n’existent plus depuis MicroLADDER V16.0 du
14/03/19 et ne sont plus visibles dans l’éditeur de variables. Il est maintenant possible de forcer directement des variables.
%SW33Réservé
%SW34
%SW35
%SW36
%SW37
%SW38
%SW39
SER0
NESC_SER0
RES_SER0
SPD_SER0
FOR_SER0
TIMEOUT_SER0
Ports sériesConfiguration du port
Numéro d’esclave
Résultat de l’échange
Code de vitesse
Format de communication
Pour le Modbus maître, valeur de temps maximale en ms entre
l’envoie d’une trame et la réception de la réponse. La valeur par défaut est 3000 ms.
Voir la section 6.2.13.1 Détail Modbus pour plus d’informations
%SW40
%SW41
%SW42
%SW43
%SW44
%SW45
SER1
NES_SER1
RES8SER1
SPD_SER1
FOR_SER1
TIMEOUT_SER1
Ports sériesConfiguration du port
Numéro d’esclave
Résultat de l’échange
Code de vitesse
Format de communication
Pour le Modbus maître, valeur de temps maximale en ms entre
l’envoie d’une trame et la réception de la réponse. La valeur par défaut est 3000 ms.
Voir la section 6.2.13.1 Détail Modbus pour plus d’informations
%SW46
%SW47
%SW48
%SW49
%SW50
%SW51
SER2
NESC_SER2
RES_SER2
SPD_SER2
FOR_SER2
TIMEOUT_SER2
Ports sériesConfiguration du port
Numéro d’esclave
Résultat de l’échange
Code de vitesse
Format de communication
Pour le Modbus maître, valeur de temps maximale en ms entre
l’envoie d’une trame et la réception de la réponse. La valeur par défaut est 3000 ms.
Voir la section 6.2.13.1 Détail Modbus pour plus d’informations
%SW52
%SW53
%SW54
%SW55
%SW56
%SW57
SER3
NESC_SER3
RES_SER3
SPD_SER3
FOR_SER3
TIMEOUT_SER3
Ports sériesConfiguration du port
Numéro d’esclave
Résultat de l’échange
Code de vitesse
Format de communication
Pour le Modbus maître, valeur de temps maximale en ms entre
l’envoie d’une trame et la réception de la réponse. La valeur par défaut est 3000 ms.
Voir la section 6.2.13.1 Détail Modbus pour plus d’informations
%SW58
%SW59
%SW60
%SW61
%SW62
%SW63
SER4
NESC_SER4
RES_SER4
SPD_SER4
FOR_SER4
TIMEOUT_SER4
Ports sériesConfiguration du port
Numéro d’esclave
Résultat de l’échange
Code de vitesse
Format de communication
Pour le Modbus maître, valeur de temps maximale en ms entre
l’envoie d’une trame et la réception de la réponse. La valeur par défaut est 3000 ms.
Voir la section 6.2.13.1 Détail Modbus pour plus d’informations
%SW64
%SW65
%SW66
%SW67
%SW68
%SW69
SER5
NESC_SER5
RES_SER5
SPD_SER5
FOR_SER5
TIMEOUT_SER5
Ports sériesConfiguration du port
Numéro d’esclave
Résultat de l’échange
Code de vitesse
Format de communication
Pour le Modbus maître, valeur de temps maximale en ms entre
l’envoie d’une trame et la réception de la réponse. La valeur par défaut est 3000 ms.
Voir la section 6.2.13.1 Détail Modbus pour plus d’informations
%SW70
%SW71
%SW72
%SW73
%SW74
%SW75
SER6
NESC_SER6
RES_SER6
SPD_SER6
FOR_SER6
TIMEOUT_SER6
Ports sériesConfiguration du port
Numéro d’esclave
Résultat de l’échange
Code de vitesse
Format de communication
Pour le Modbus maître, valeur de temps maximale en ms entre
l’envoie d’une trame et la réception de la réponse. La valeur par défaut est 3000 ms.
Voir 6.2.13.1 Détail Modbus pour plus d’informations
%SW76
%SW77
%SW78
%SW79
%SW80
%SW81
SER7
NESC_SER7
RES_SER7
SPD_SER7
FOR_SER7
TIMEOUT_SER7
Ports sériesProtocole de communication du socket (voir 6.2.13.1 Détail Modbus pour plus d’informations).
Numéro de port en mode esclave du socket (502 pour Modbus, 10000 pour VNC, 80 pour HTTP, 161 pour SNMP)
Numéro d’esclave du socket
Résultat de l’échange du socket
Timeout du socket
%SW91
%SW92
%SW93
%SW94
W_DNS_ADDR1
W_DNS_ADDR2
W_DNS_ADDR3
W_DNS_ADDR4
WifiAdresse du serveur DNS pour le port Wi-Fi (valable depuis MicroLADDER 13.0 et le code système 10.0 du 11/09/17).
%SW95W_MODEWifiMode de fonctionnement du port Wi-Fi.
%SW96
%SW97
%SW98
%SW99
DNS_ADDR1
DNS_ADDR2
DNS_ADDR3
DNS_ADDR4
EthernetAdresse du serveur DNS pour le port Ethernet et pour le port Wi-Fi.
A partir de MicroLADDER 13.0 et du code système 10.0 du 11/09/17, ces mots ne sont valables que pour l’Ethernet puisqu’il y a maintenant des mots pour le Wi-Fi.
%SW100
%SW101
%SW102
%SW103
%SW104
%SW105
MAC_ADDR1
MAC_ADDR2
MAC_ADDR3
MAC_ADDR4
MAC_ADDR5
MAC_ADDR6
EthernetAdresse MAC du port Ethernet.
%SW106
%SW107
%SW108
%SW109
IP_ADDR1
IP_ADDR2
IP_ADDR3
IP_ADDR4
EthernetAdresse IP du port Ethernet.
%SW110
%SW111
%SW112
%SW113
SUBNET_MASK1
SUBNET_MASK2
SUBNET_MASK3
SUBNET_MASK4
EthernetMasque de sous réseau du port Ethernet.
%SW114
%SW115
%SW116
%SW117
GATEWAY1
GATEWAY2
GATEWAY3
GATEWAY4
EthernetPasserelle du port Ethernet
%SW118



%SW119



%SW120
%SW121
%SW122
SOCK0



PORT_SOCK0



NESC_SOCK0
RES_SOCK0
TIMEOUT_SOCK0
EthernetProtocole de communication du socket (voir 6.2.13.1 Détail Modbus pour plus d’informations).
Numéro de port en mode esclave du socket (502 pour Modbus,
10000 pour VNC, 80 pour HTTP, 161 pour SNMP)
Numéro d’esclave du socket
Résultat de l’échange du socket
Timeout du socket
%SW123



%SW124



%SW125
%SW126
%SW127
SOCK1



PORT_SOCK1



NESC_SOCK1
RES_SOCK1
TIMEOUT_SOCK1
EthernetProtocole de communication du socket (voir 6.2.13.1 Détail Modbus pour plus d’informations).
Numéro de port en mode esclave du socket (502 pour Modbus,
10000 pour VNC, 80 pour HTTP, 161 pour SNMP)
Numéro d’esclave du socket
Résultat de l’échange du socket
Timeout du socket
%SW128



%SW129



%SW130
%SW131
%SW132
SOCK2



PORT_SOCK2



NESC_SOCK2
RES_SOCK2
TIMEOUT_SOCK2
EthernetProtocole de communication du socket (voir 6.2.13.1 Détail Modbus pour plus d’informations).
Numéro de port en mode esclave du socket (502 pour Modbus,
10000 pour VNC, 80 pour HTTP, 161 pour SNMP)
Numéro d’esclave du socket
Résultat de l’échange du socket
Timeout du socket
%SW133



%SW134



%SW135
%SW136
%SW137
SOCK3



PORT_SOCK3



NESC_SOCK3
RES_SOCK3
TIMEOUT_SOCK3
EthernetProtocole de communication du socket (voir 6.2.13.1 Détail Modbus pour plus d’informations).
Numéro de port en mode esclave du socket (502 pour Modbus,
10000 pour VNC, 80 pour HTTP, 161 pour SNMP)
Numéro d’esclave du socket
Résultat de l’échange du socket
Timeout du socket
%SW138
%SW139
%SW140
%SW141
%SW142
%SW143
W_MAC_ADDR1
W_MAC_ADDR2
W_MAC_ADDR3
W_MAC_ADDR4
W_MAC_ADDR5
W_MAC_ADDR6
WifiAdresse MAC du port Wi-Fi.
%SW144
%SW145
%SW146
%SW147
W_IP_ADDR1
W_IP_ADDR2
W_IP_ADDR3
W_IP_ADDR4
WifiAdresse IP du port Wi-Fi.
%SW148
%SW149
%SW150
%SW151
W_SUBNET_MASK1
W_SUBNET_MASK2
W_SUBNET_MASK3
W_SUBNET_MASK4
WifiMasque de sous réseau du port Wi-Fi.
%SW152
%SW153
%SW154
%SW155
W_GATEWAY1
W_GATEWAY2
W_GATEWAY3
W_GATEWAY4
WifiPasserelle du port Wi-Fi.
%SW156



%SW157



%SW158
%SW159
%SW160
WSOCK0



PORT_WSOCK0



NESC_WSOCK0
RES_WSOCK0
TIMEOUT_WSOCK0
WifiProtocole de communication du socket (voir 6.2.13.1 Détail Modbus pour plus d’informations).
Numéro de port en mode esclave du socket (502 pour Modbus,
10000 pour VNC, 80 pour HTTP, 161 pour SNMP)
Numéro d’esclave du socket
Résultat de l’échange du socket
Timeout du socket
%SW161



%SW162



%SW163
%SW164
%SW165
WSOCK1



PORT_WSOCK1



NESC_WSOCK1
RES_WSOCK1
TIMEOUT_WSOCK1
WifiProtocole de communication du socket (voir 6.2.13.1 Détail Modbus pour plus d’informations).
Numéro de port en mode esclave du socket (502 pour Modbus,
10000 pour VNC, 80 pour HTTP, 161 pour SNMP)
Numéro d’esclave du socket
Résultat de l’échange du socket
Timeout du socket
%SW166



%SW167



%SW168
%SW169
%SW170
WSOCK2



PORT_WSOCK2



NESC_WSOCK2
RES_WSOCK2
TIMEOUT_WSOCK2
WifiProtocole de communication du socket (voir 6.2.13.1 Détail Modbus pour plus d’informations).
Numéro de port en mode esclave du socket (502 pour Modbus,
10000 pour VNC, 80 pour HTTP, 161 pour SNMP)
Numéro d’esclave du socket
Résultat de l’échange du socket
Timeout du socket
%SW171



%SW172



%SW173
%SW174
%SW175
WSOCK3



PORT_WSOCK3



NESC_WSOCK3
RES_WSOCK3
TIMEOUT_WSOCK3
WifiConfiguration du port LoRa (voir 6.2.13.1 Détail Modbus pour plus d’informations).
Numéro d’esclave (cette variable est sauvegardée dans la carte SD)
Résultat de l’échange (voir 6.2.13.1 Détail Modbus pour plus d’informations)
Canal de fréquence de réception (voir 6.2.13.2 Détail Radio Fréquence)
Canal fréquence d’envoi (voir 6.2.13.2 Détail Radio Fréquence)
Pour le Modbus maître, valeur de temps maximale en ms entre
l’envoie d’une trame et la réception de la réponse. La valeur par défaut est 3000ms.
%SW189



%SW190


%SW191
W_RSSI



RSSI_RF0


RSSI_RF1
Wifi / RadioValeur du RSSI Wi-Fi en Décibel milliwatt (ou dBm). Correspond à -WsockLastRSSI qui
est en dBm.
Valeur du RSSI du premier port radio en -dBm. Correspond à –
RFLastRSSI[0] qui est en dBm.
Valeur du RSSI du second port radio en -dBm. Correspond à –
RFLastRSSI[1] qui est en dBm.
Ces variables sont mise à jour toutes les minutes. Elles sont
valables depuis MicroLADDER V14.15 du 05/06/18 et le code
système V11.9 du 05/06/18
%SW200


%SW201

%SW202


%SW203


%SW204

%SW205
RF0


NESC_RF0

RES_RF0


FREQ_RX_RF0


FREQ_TX_RF0

TIMEOUT_RF0
RadioConfiguration du port LoRa (voir 6.2.13.1 Détail Modbus pour plus d’informations).
Numéro d’esclave (cette variable est sauvegardée dans la carte SD)
Résultat de l’échange (voir 6.2.13.1 Détail Modbus pour plus d’informations)
Canal de fréquence de réception (voir 6.2.13.2 Détail Radio Fréquence)
Canal fréquence d’envoie (voir 6.2.13.2 Détail Radio Fréquence)
Pour le Modbus maître, valeur de temps maximale en ms entre
l’envoie d’une trame et la réception de la réponse. La valeur par défaut est 3000ms.
%SW206


%SW207

%SW208


%SW209


%SW210

%SW211
RF1


NESC_RF1

RES_RF1


FREQ_RX_RF1


FREQ_TX_RF1

TIMEOUT_RF1
RadioProtocole de communication du socket (voir 6.2.13.1 Détail Modbus pour plus d’informations) du port Ethernet 2.
Numéro de port en mode esclave du socket (502 pour Modbus,
10000 pour VNC, 80 pour HTTP, 161 pour SNMP)
Numéro d’esclave du socket
Résultat de l’échange du socket
Timeout du socket
%SW214
%SW215
%SW216
%SW217
%SW218
%SW219
BT_MAC_ADDR1
BT_MAC_ADDR2
BT_MAC_ADDR3
BT_MAC_ADDR4
BT_MAC_ADDR5
BT_MAC_ADDR6
Adresse MAC du port Bluetooth.
Ces variables sont valables depuis MicroLADDER V15.0 du
20/11/18.
%SW220

%SW221

%SW222
%SW223


%SW224
BT0

NESC_BT0

RES_BT0
GAP_BT0


TIMEOUT_BT0
Mode de fonctionnement du port Bluetooth 0
Numéro d’esclave du port Bluetooth
Etat du port Bluetooth 0
Mode GAP du port Bluetooth 0 (0 = déconnecté, bluetooth inactif ; 1
= advertising (connexion possible) ; 2 = connecté)
Timeout du port Bluetooth 0
Ces variables sont valables depuis MicroLADDER V15.0 du
20/11/18.
%SW225
%SW226
%SW227
%SW228
%SW229
%SW230
MAC_ADDR1_2
MAC_ADDR2_2
MAC_ADDR3_2
MAC_ADDR4_2
MAC_ADDR5_2
MAC_ADDR6_2
Adresse MAC du port Ethernet 2. Valable depuis MicroLADDER
V18.0 du 25/11/21.
%SW231
%SW232
%SW233
%SW234
IP_ADDR1_2
IP_ADDR2_2
IP_ADDR3_2
IP_ADDR4_2
Adresse IP du port Ethernet 2. Valable depuis MicroLADDER V18.0
du 25/11/21.
%SW235
%SW236
%SW237
%SW238
SUBNET_MASK1_2
SUBNET_MASK2_2
SUBNET_MASK3_2
SUBNET_MASK4_2
Masque du sous réseau du port Ethernet 2. Valable depuis
MicroLADDER V18.0 du 25/11/21
%SW239
%SW240
%SW241
%SW242
GATEWAY1_2
GATEWAY2_2
GATEWAY3_2
GATEWAY4_2
Passerelle du port Ethernet 2. Valable depuis MicroLADDER V18.0 du 25/11/21.
%SW243



%SW244



%SW245
%SW246
%SW247
SOCK4



PORT_SOCK4



NESC_SOCK4
RES_SOCK4
TIMEOUT_SOCK4
Protocole de communication du socket (voir 6.2.13.1 Détail Modbus pour plus d’informations) du port Ethernet 2.
Numéro de port en mode esclave du socket (502 pour Modbus,
10000 pour VNC, 80 pour HTTP, 161 pour SNMP)
Numéro d’esclave du socket
Résultat de l’échange du socket
Timeout du socket
%SW248



%SW249



%SW250
%SW251
%SW252
SOCK5



PORT_SOCK5



NESC_SOCK5
RES_SOCK5
TIMEOUT_SOCK5
Protocole de communication du socket (voir 6.2.13.1 Détail Modbus pour plus d’informations) du port Ethernet 2.
Numéro de port en mode esclave du socket (502 pour Modbus,
10000 pour VNC, 80 pour HTTP, 161 pour SNMP)
Numéro d’esclave du socket
Résultat de l’échange du socket
Timeout du socket
%SW253



%SW254



%SW255
%SW256
%SW257
SOCK6



PORT_SOCK6



NESC_SOCK6
RES_SOCK6
TIMEOUT_SOCK6
Protocole de communication du socket (voir 6.2.13.1 Détail Modbus pour plus d’informations) du port Ethernet 2.
Numéro de port en mode esclave du socket (502 pour Modbus,
10000 pour VNC, 80 pour HTTP, 161 pour SNMP)
Numéro d’esclave du socket
Résultat de l’échange du socket
Timeout du socket
%SW258


%SW259




%SW260
%SW261
%SW262
SOCK7


PORT_SOCK7




NESC_SOCK7
RES_SOCK7
TIMEOUT_SOCK7
Protocole de communication du socket (voir 6.2.13.1 Détail Modbus pour plus d’informations) du port Ethernet 2.
Numéro de port en mode esclave du socket (502 pour Modbus,
10000 pour VNC, 80 pour HTTP, 161 pour SNMP)
Numéro d’esclave du socket
Résultat de l’échange du socket
Timeout du socket
Tableau sur le détail des variables systèmes
SER0 à SER7
SOCK0 à SOCK3
WSOCK0 à WSOCK3
RF0 à RF1
Variables de configuration du port. Ces variables ne sont pas sauvegardées.
Nom de la valeurValeur de la variableDescription
COM_PROTOCOL_NONE
COM_PROTOCOL_TCP
COM_PROTOCOL_TCP_CLIENT
0Aucun protocole ou Modbus maître
COM_PROTOCOL_IOBUS1Protocole IOBus
COM_PROTOCOL_MODBUS2Modbus esclave
COM_PROTOCOL_MODBUS_TCP3Modbus TCP esclave
COM_PROTOCOL_GFX4Protocole Gfx (pilotage écran à distance)
COM_PROTOCOL_HTTP5Protocole HTTP
COM_PROTOCOL_UDP
COM_PROTOCOL_UDP_CLIENT
6Protocole maître UDP
Protocole client UDP
COM_PROTOCOL_DATA7TBC
COM_PROTOCOL_TCP_SERVER8TBC
COM_PROTOCOL_UDP_SERVER9TBC
COM_PROTOCOL_HTTP_QUERY10Protocole HTTP pour les commandes (valable seulement depuis le 23/01/17)
COM_PROTOCOL_RF11Protocole radio (valable seulement depuis le code système 12.0)
COM_PROTOCOL_BT12Protocole Bluetooth (valable seulement depuis le code système 12.0)
COM_PROTOCOL_MODBUS_RO13Modbus esclave Read Only (valable seulement depuis le 15/01/20 code système 11.25 et code système 13.16)
COM_PROTOCOL_MODBUS_TCP_RO14Modbus TCP esclave Read Only
(valable seulement depuis le 15/01/20 code système 11.25 et code système 13.16)
Tableau des valeurs des protocoles avec leurs descriptions
Information
La valeur par défaut est COM_PROTOCOL_MODBUS pour les ports série. Elle est COM_PROTOCOL_MODBUS_TCP pour le socket 0 et COM_PROTOCOL_HTTP pour les sockets 1 à 3 sauf pour les automates à écran graphique où le socket 1 est à COM_PROTOCOL_GFX.
Il est vivement recommandé d'utiliser le nom de la valeur pour initialiser le mot système plutôt que d'utiliser la valeur.
NESC_SER0 à NESC_SER7
NESC_SOCK0 à NESC_SOCK3
NESC_WSOCK0 à NESC_WSOCK3
Numéro d’esclave pour le mode Modbus esclave. Ces variables ne doivent pas obligatoirement être à 0 pour
faire du Modbus maître ou de la communication sans
protocole. Ces variables sont sauvegardées sur la carte SD
.
Nom de la valeurValeur de
la variable
Description
0Seulement Modbus maître
1 à 255Numéro d’esclave Modbus

La valeur pas défaut est 1.

RES_SER0 à RES_SER7
RES_SOCK0 à RES_SOCK3
RES_WSOCK0 à RES_WSOCK3
RES_RF0 à RES_RF1
Variables du résultat de l’échange.
Elles fonctionnent en émission ou réception.
Nom de la valeurValeur de
la variable
Description
COM_STATE_READY0Communication terminée
COM_STATE_WAIT1Temporisation avant envoi de la trame
COM_STATE_SEND2Communication en cours (émission ou réception)
COM_STATE_ERROR240Limite à partir de laquelle commence la zone des défauts
COM_STATE_ERROR +
MODBUS_ERROR_BAD_RESPONSE
253Mauvaise réponse
COM_STATE_ERROR +
MODBUS_ERROR_INCOMPLETE_RESPON
SE
254Réponse incomplète
COM_STATE_ERROR +
MODBUS_ERROR_NO_RESPONSE
255Time out : pas de réponse
Tableau des résultats des échanges avec leurs descriptions

SPD_SER0 à SPD_SER7Variables sur la vitesse d’échange. Ces variables sont sauvegardées dans la carte SD.
Nom de la valeurValeur de la variableDescription
COM_SPEED_NONE0
COM_SPEED_3001300 bauds
COM_SPEED_120021200 bauds
COM_SPEED_240032400 bauds
COM_SPEED_480044800 bauds
COM_SPEED_960059600 bauds
COM_SPEED_19200619200 bauds
COM_SPEED_38400738400 bauds
COM_SPEED_57600857600 bauds
COM_SPEED_76800976800 bauds
COM_SPEED_11520010115200 bauds
Tableau des vitesses d’échange avec leurs descriptions

FOR_SER0 à FOR_SER7Variables sur les paramètre du format d’échange. Ces variables sont sauvegardées dans la carte SD.
Nom de la valeurValeur de la variableDescription
COM_FORMAT_NONE0
COM_FORMAT_8N218 bits, pas de parité, 2 bits de stop,
COM_FORMAT_8N128 bits, pas de parité, 1 bit de stop,
COM_FORMAT_8E138 bits, parité paire, 1 bit de stop,
COM_FORMAT_8O148 bits, parité impaire, 1 bit de stop,
COM_FORMAT_7E257 bits, parité paire, 2 bits de stop,
COM_FORMAT_7O267 bits, parité impaire, 2 bits de stop,
COM_FORMAT_7E177 bits, parité paire, 1 bit de stop,
COM_FORMAT_7O187 bits, parité impaire, 1 bit de stop,
COM_FORMAT_7R297 bits, parité forcée à 0, 2 bits de stop,
COM_FORMAT_7R1107 bits, parité forcée à 0, 1 bit de stop,
COM_FORMAT_7S2117 bits, parité forcée à 1, 2 bits de stop,
COM_FORMAT_7S1127 bits, parité forcée à 1, 1 bit de stop,
Tableau sur les paramètres de format d’échange avec leurs descriptions

La valeur par défaut est COM_FORMAT_8N1 (2).

6.2.13.2 Détail Radio Fréquence
FREQ_RX_RF0 à FREQ_RX_RF1
FREQ_TX_RF0 à FREQ_TX_RF1
Variables sur le uméro de canal de fréquence du port radio. Ces variables sont sauvegardées sur la carte SD.
Nom de la valeurValeur de la variableDescription
RF_FREQ_NONE
RF_FREQ_0
0868,125 MHz
RF_FREQ_11868,475 MHz
RF_FREQ_22868,950 MHz
RF_FREQ_33869,525 MHz
Tableau sur les fréquences avec leurs descriptions

6.3 Watchdog

Un watchdog ou chien de garde va permettre à l’automate de ne pas se bloquer dans une étape particulière.
A chaque cycle, l’automate va lancer une temporisation. Si cette temporisation dépasse une temporisation de référence, alors le watchdog se déclenche. Le watchdog va permettre d’effectuer un reset du système ou bien de redémarrer le système.

6.3.1 Dépassement du temps de cycle

La valeur de temporisation de référence du système est à paramétrer dans la variable système %SW1 en ms.
Lorsque le temps de cycle (%SW0) est supérieur à la valeur de référence, %SW1, le système met la variable booléenne %S15 à 1. Il n’y a pas de blocage du cycle, le programme va continuer à tourner. On va seulement avoir une indication si il y a eu un dépassement du cycle en observant la variable %S15. Ainsi, si la variable %S15 est à 1, elle doit être remis volontairement à 0.
Si %SW1 vaut 0, il n’y a pas de contrôle du temps de cycle.

6.3.2 Watchdog soft par interruption

La valeur de temporisation de référence du système est à paramétrer dans la variable système %SW2 en ms.
Lorsque le temps de cycle (%SW0) est supérieur à la valeur de référence, %SW2, le système effectue une sauvegarde des variables, force les sorties TOR et analogiques à 0, passe l’automate en mode STOP, met %S21 à 1 et enfin écrit 1 dans le paramètre RESET_SW sur la carte SD.
La vérification que le temps de cycle n’est pas supérieur à la valeur de référence est levé par interruption.
Si %SW2 vaut 0, le système utilise la valeur par défaut (3000 ms).

6.4 Configuration du code système

6.4.1 Optimiser la taille du code

Cette option est valable depuis la version 14.0 de MicroLADDER et la version 11.0 du code système.
Lorsque cette option est à 1, la taille du code est réduite, mais le temps d’exécution est augmenté.
Par défaut, l’option est à 0.

6.4.2 AUTO_STOP

Lorsque cette option est à 0, lors d’un watchdog soft, l’application redémarre seule. %S21 est mis à 1 et l’application doit la remettre à 0.
Lorsque cette option est à 1, lors d’un watchdog soft, l’application ne redémarre pas et l’automate reste sur la boucle principale. %S21 est mis à 1 et il est remis à 0 si l’application est redémarrée.
Par défaut cette option est à 1.

6.4.3 DHCP

Lorsque cette option est à 1, elle permet d’avoir la possibilité d’utiliser la fonction DHCP (attribution d’adresse IP automatiquement par un serveur DHCP).
Lorsque cette option est à 0, elle permet de gagner en taille de code.
Par défaut, l’option est à 1.

6.4.4 DNS

Lorsque cette option est à 1, elle permet d’avoir la possibilité d’utiliser la fonction DNS (conversion d’une adresse web littérale en adresse IP par un serveur DNS).
Lorsque cette option est à 0, elle permet de gagner en taille de code.
Par défaut, l’option est à 1.

6.4.5 GFX

Lorsque cette option est à 1, elle permet de prendre la main à distance sur l’IHM à l’aide du logiciel microPAD et de la liaison Ethernet. Il faut donc un socket du port Ethernet de disponible pour cette fonctionnalité.
Lorsque cette option est à 0, elle permet de gagner en taille de code.
Par défaut, l’option est à 0.

6.4.6 HTTP

Lorsque cette option est à 1, elle permet d’avoir accès aux serveurs web. Il faut donc un socket du port Ethernet de disponible. Si l’application dispose d’un IHM développé par MicroHMI, ce sera l’application MicroHMI qui sera visualisée (il faut alors 2 sockets), si l’application ne dispose pas d’IHM, ce sera un accès
au répertoire www de la carte SD. Il est aussi possible de faire de la communication ModBus à travers le protocole HTTP.
Lorsque cette option est à 0, elle permet de gagner en taille de code.
Par défaut, l’option est à 0.

6.4.7 LCD

Cette option est valable depuis la version 10.14 de MicroLADDER du 09/06/16.
Lorsque cette option est à 1, elle permet de gérer l’écran LCD de l’automate.
Lorsque cette option est à 0, elle permet de gagner jusqu’à 50 ko de code.
Par défaut, l’option est à 1.

6.4.8 RF

Cette option est valable depuis la version 14.0 de MicroLADDER et la version 11.0 du code système.
Elle permet d’activer la gestion du module Radio Fréquence LoRa sur un port série pré-attribué sur chaque automate.
Par défaut, l’option est à 0.

6.5 Fonctions utiles

6.5.1 Communication sans protocole

Pour paramétrer une communication sans protocole, il faut mettre le mot système SERx, SOCKx ou WSOCKx à la valeur COM_PROTOCOL_NONE (valeur 0).

6.5.1.1 Paramétrage

void ComSetCharTimeout (unsigned char comPort, unsigned short timeout);

Cette fonction permet de définir le timeout inter-caractères. Cela est utile avec une communication radio où les caractères peuvent arriver avec un peu plus de retard. Cette fonction est valable depuis le code système 8.0 du 01/06/16.

  • unsigned char comPort : numéro du port de communication. Il est préférable d’utiliser les variables prédéfinies:
COM_PORT_SER0, COM_PORT_SER1, COM_PORT_SER2, COM_PORT_SER3, COM_PORT_SER4, COM_PORT_SER5, COM_PORT_SER6, COM_PORT_SER7, COM_PORT_SOCK0, COM_PORT_SOCK1, COM_PORT_SOCK2, COM_PORT_SOCK3, COM_PORT_WSOCK0, COM_PORT_WSOCK1, COM_PORT_WSOCK2, COM_PORT_WSOCK3
  • unsigned short timeout: valeur du timeout en ms.

Exemple:

ComSetCharTimeout (COM_PORT_SER0, 100);
6.5.1.2 Emission

unsigned short ComPush (unsigned char comPort, unsigned char *str, int l);

Cette fonction écrit une chaîne de caractères dans un buffer temporaire. Elle est utilisée avant d’envoyer une chaîne de caractères à l’automate.

  • unsigned char comPort : numéro du port de communication. Il est préférable d’utiliser les variables prédéfinies
COM_PORT_SER0, COM_PORT_SER1, COM_PORT_SER2, COM_PORT_SER3, COM_PORT_SER4,
COM_PORT_SER5, COM_PORT_SER6, COM_PORT_SER7, COM_PORT_SOCK0, COM_PORT_SOCK1,
COM_PORT_SOCK2, COM_PORT_SOCK3, COM_PORT_WSOCK0, COM_PORT_WSOCK1,
COM_PORT_WSOCK2, COM_PORT_WSOCK3.
  • unsigned char *str : chaîne de caractères de type unsigned char qui va servir de buffer d’envoi.
  • int l : nombre de caractères à envoyer de type unsigned short.

Exemple :

char s[] = "Test 123"; 
ComPush (COM_PORT_SER0, s, 8);

unsigned char ComPushByte (unsigned char comPort, unsigned char b);

Cette fonction écrit un octet dans un buffer temporaire à chaque fois qu’elle est exécutée. Cette fonction est une alternative à la fonction ComPush et elle est utilisée avant d’envoyer une chaîne de caractères à l’automate.

  • unsigned char comPort : numéro du port de communication. Il est préférable d’utiliser les variables prédéfinies
COM_PORT_SER0, COM_PORT_SER1, COM_PORT_SER2, COM_PORT_SER3, COM_PORT_SER4, COM_PORT_SER5, COM_PORT_SER6, COM_PORT_SER7, COM_PORT_SOCK0, COM_PORT_SOCK1, COM_PORT_SOCK2, COM_PORT_SOCK3, COM_PORT_WSOCK0, COM_PORT_WSOCK1, COM_PORT_WSOCK2, COM_PORT_WSOCK3. 
  • unsigned char b: caractères de type unsigned char que l’on envoie dans un buffer.

Exemple :

ComPushByte (COM_PORT_SER0, 'T');
ComPushByte (COM_PORT_SER0, 'e');
ComPushByte (COM_PORT_SER0, 's');
ComPushByte (COM_PORT_SER0, 't');
ComPushByte (COM_PORT_SER0, ' ');
ComPushByte (COM_PORT_SER0, '1');
ComPushByte (COM_PORT_SER0, '2');
ComPushByte (COM_PORT_SER0, '3');

void ComSend (unsigned char comPort);

Cette fonction écrit une chaîne de caractères, préalablement écrite dans un buffer, sur le port série, le port Ethernet ou Wi-Fi. La fonction ComPush ou ComPushByte doit être exécutée avant afin de réaliser le stockage de la chaîne de caractères à envoyer.
Lors de l’émission sur un port Ethernet ou Wi-Fi, la fonction ne rend la main qu’à la fin de l’émission. Lors de l’émission sur un port série, la fonction rend la main immédiatement et l’émission se fait en différée sous interruption. Ainsi, pour connaître la fin de l’émission, il faut regarder le mot système RES_SERx ou utiliser la fonction ComFlushOutput. Le mot RES_SERx est mis à jour à la fin du tour de cycle automate. Il ne faut donc pas bloquer le programme en attendant un changement de son état.

  • unsigned char comPort : numéro du port de communication. Il est préférable d’utiliser les variables prédéfinies
COM_PORT_SER0, COM_PORT_SER1, COM_PORT_SER2, COM_PORT_SER3, COM_PORT_SER4,
COM_PORT_SER5, COM_PORT_SER6, COM_PORT_SER7, COM_PORT_SOCK0, COM_PORT_SOCK1,
COM_PORT_SOCK2, COM_PORT_SOCK3, COM_PORT_WSOCK0, COM_PORT_WSOCK1,
COM_PORT_WSOCK2, COM_PORT_WSOCK3.

Exemple 1 :

char s[] = "Test 123";
ComPush (COM_PORT_SER0, s, 8);
ComSend (COM_PORT_SER0);

Exemple 2 :

ComPushByte (COM_PORT_SER0, 'T');
ComPushByte (COM_PORT_SER0, 'e');
ComPushByte (COM_PORT_SER0, 's');
ComPushByte (COM_PORT_SER0, 't');
ComPushByte (COM_PORT_SER0, ' ');
ComPushByte (COM_PORT_SER0, '1');
ComPushByte (COM_PORT_SER0, '2');
ComPushByte (COM_PORT_SER0, '3');
ComSend (COM_PORT_SER0);

void ComRealFlushOutput (unsigned char comPort);

Cette fonction attend la fin de l’émission. Elle est donc bloquante.

  • unsigned char comPort : numéro du port de communication. Il est préférable d’utiliser les variables prédéfinies
COM_PORT_SER0, COM_PORT_SER1, COM_PORT_SER2, COM_PORT_SER3, COM_PORT_SER4,
COM_PORT_SER5, COM_PORT_SER6, COM_PORT_SER7, COM_PORT_SOCK0, COM_PORT_SOCK1,
COM_PORT_SOCK2, COM_PORT_SOCK3, COM_PORT_WSOCK0, COM_PORT_WSOCK1,
COM_PORT_WSOCK2, COM_PORT_WSOCK3.

Exemple :

ComFlushOutput (COM_PORT_SER1);
6.5.1.3 Réception

unsigned short ComGetFrameLength (unsigned char comPort);

Cette fonction permet de savoir combien de caractères ont été reçus. La réception se fait dans un buffer cyclique de 256 caractères. Lorsque le buffer est plein, la réception repart au début.

  • unsigned short (valeur de retour) : variable de retour de type unsigned short. Elle indique le nombre de caractères reçu dans le buffer. Au départ elle vaut 0. Elle s’incrémente jusqu’à 255, passe à 256 et repasse à 1. De ce fait, elle pointe vers l’emplacement du prochain caractère sauf lorsqu’elle indique 256.
  • unsigned char comPort : numéro du port de communication. Il est préférable d’utiliser les variables prédéfinies
COM_PORT_SER0, COM_PORT_SER1, COM_PORT_SER2, COM_PORT_SER3, COM_PORT_SER4,
COM_PORT_SER5, COM_PORT_SER6, COM_PORT_SER7, COM_PORT_SOCK0, COM_PORT_SOCK1,
COM_PORT_SOCK2, COM_PORT_SOCK3, COM_PORT_WSOCK0, COM_PORT_WSOCK1,
COM_PORT_WSOCK2, COM_PORT_WSOCK3.

Exemple:


Long = ComGetFrameLength (COM_PORT_SER1);

unsigned char *ComGetFrame (unsigned char comPort);

Cette fonction permet de récupérer les caractères reçus. Elle renvoie un pointeur sur le début de la chaîne de réception. Après avoir traité les caractères reçus, il faut utiliser la fonction ComFlushInput pour que la prochaine réception commence au début du buffer.

  • unsigned char * (valeur de retour) : variable de retour pointant sur la chaîne de caractères reçus par l’automate
  • unsigned char comPort : numéro du port de communication. Il est préférable d’utiliser les variables prédéfinies suivantes:
COM_PORT_SER0, COM_PORT_SER1, COM_PORT_SER2, COM_PORT_SER3, COM_PORT_SER4,
COM_PORT_SER5, COM_PORT_SER6, COM_PORT_SER7, COM_PORT_SOCK0, COM_PORT_SOCK1,
COM_PORT_SOCK2, COM_PORT_SOCK3, COM_PORT_WSOCK0, COM_PORT_WSOCK1,
COM_PORT_WSOCK2, COM_PORT_WSOCK3.

Exemple :

char *Chaine;
Chaine = ComGetFrame(COM_PORT_SER1);
%MW20:=Chaine[0];
%MW21:=Chaine[1];
%MW22:=Chaine[2];

void ComFlushInput (unsigned char comPort);

Cette fonction remet à 0 le nombre de caractères reçus. De plus, pour les ports série, elle efface la chaîne de caractères de réception.

  • unsigned char comPort : numéro du port de communication. Il est préférable d’utiliser les variables prédéfinies suivantes:
COM_PORT_SER0, COM_PORT_SER1, COM_PORT_SER2, COM_PORT_SER3, COM_PORT_SER4,
COM_PORT_SER5, COM_PORT_SER6, COM_PORT_SER7, COM_PORT_SOCK0, COM_PORT_SOCK1,
COM_PORT_SOCK2, COM_PORT_SOCK3, COM_PORT_WSOCK0, COM_PORT_WSOCK1,
COM_PORT_WSOCK2, COM_PORT_WSOCK3.

Exemple :

ComFlushInput(COM_PORT_SER1);

void ComClearFrame (unsigned char comPort, int l);

Cette fonction efface du tampon de réception le nombre de caractères demandé et déplace les autres caractères vers le début. Elle est donc très utile pour effacer uniquement les caractères qui ont été traités.

  • unsigned char comPort : numéro du port de communication. Il est préférable d’utiliser les variables prédéfinies
COM_PORT_SER0, COM_PORT_SER1, COM_PORT_SER2, COM_PORT_SER3, COM_PORT_SER4,
COM_PORT_SER5, COM_PORT_SER6, COM_PORT_SER7, COM_PORT_SOCK0, COM_PORT_SOCK1,
COM_PORT_SOCK2, COM_PORT_SOCK3, COM_PORT_WSOCK0, COM_PORT_WSOCK1,
COM_PORT_WSOCK2, COM_PORT_WSOCK3.
  • int l : nombre de caractères à effacer.

Exemple :

ComClearFrame(COM_PORT_SER1, 10);

6.5.2 Communication avec le protocole Modbus

Pour plus de détails, se référer à la section 6.2.13.1 Détail Modbus avec notamment les variables %SW34 à %SW175. Il est possible de faire du Modbus standard ou du Modbus étendu (Modbus Sirea) sur tous les ports. Cela signifie qu’il est possible de faire le chargement d’une application par tous les ports. Par défaut, tous les ports sont paramétrés en Modbus Sirea esclave n°1 pour les ports série et Modbus TCP esclave n°1 pour les ports Ethernet et Wi-Fi.

6.5.2.1 Modbus esclave et Modbus TCP esclave

Il suffit de renseigner NESC_SERx, NESC_SOCKx ou NESC_WSOCKx avec le numéro d’esclave et SERx, SOCKx ou WSOCKx avec le protocole (variable COM_PROTOCOL_MODBUS pour du Modbus standard ou COM_PROTOCOL_MODBUS_TCP pour du Modbus TCP). Pour le Modbus TCP, il faut aussi que PORT_SOCKx ou PORT_WSOCKx soit à 502. Le système se charge de répondre aux requêtes reçues.

6.5.2.2 Modbus maître

Il suffit de renseigner SERx, SOCKx ou WSOCKx sans protocole (variable COM_PROTOCOL_NONE). NESC_SERx ne doit pas forcément être à 0.
La gestion des trames de lecture et d’écriture est à l’initiative de l’application.

unsigned char ModbusRead (unsigned char comPort, unsigned char tcp, unsigned char slave, unsigned char type, unsigned short masterAdd, unsigned short nbValues, unsigned short slaveAdd);

Cette fonction permet la lecture de mots ou bits sur un esclave Modbus. La vitesse et le format de communication sont paramétrés dans les mots systèmes. La fonction doit être lancée sur front. Elle va ensuite prendre un certain temps pour s’éxécuter. Il est possible de connaître son état d’évolution par la variable RES_SERx, RES_SOCKx ou RES_WSOCKx dans les mots systèmes.

  • unsigned char (valeur de retour) : variable de retour de type unsigned char. Elle vaut 1 si la fonction est lancée. Elle vaut 0 s’il y a une erreur de paramètre qui empêche de lancer la fonction.
  • unsigned char comPort : numéro de port. Il est préférable d’utiliser les variables prédéfinies :
COM_PORT_SER0, COM_PORT_SER1, COM_PORT_SER2, COM_PORT_SER3, COM_PORT_SER4, COM_PORT_SER5, COM_PORT_SER6, COM_PORT_SER7, COM_PORT_SOCK0, COM_PORT_SOCK1, COM_PORT_SOCK2, COM_PORT_SOCK3, COM_PORT_WSOCK0, COM_PORT_WSOCK1, COM_PORT_WSOCK2, COM_PORT_WSOCK3.
  • unsigned char tcp: type de Modbus (0 : Modbus classique et 1 : Modbus TCP).
  • unsigned char slave : numéro d’esclave.
  • unsigned char type : type de variable à lire (bit ou mot, mémoire ou entrée). Il est préférable d’utiliser les variables prédéfinies:
MODBUS_TYPE_MW, MODBUS_TYPE_M, MODBUS_TYPE_IW, MODBUS_TYPE_I
  • unsigned short masterAdd : adresse de la première donnée dans la mémoire du maître pour le stockage.
  • unsigned short nbValues : nombre de données à lire.
  • unsigned short slaveAdd : adresse de la première donnée dans l’esclave.

unsigned char ModbusWrite (unsigned char comPort, unsigned char tcp, unsigned char slave, unsigned char type, unsigned short masterAdd, unsigned short nbValues, unsigned short slaveAdd, unsigned char forceMultFunc);

Cette fonction permet l’écriture de mots ou bits sur un esclave Modbus. La vitesse et le format de communication sont paramétrés dans les mots systèmes. La fonction doit être lancée sur front. Elle va ensuite prendre un certain temps pour s’éxécuter. Il est possible de connaître son état d’évolution par la variable RES_SERx, RES_SOCKx ou RES_WSOCKx dans les mots systèmes.

  • unsigned char (valeur de retour) : variable de retour de type unsigned char. Elle vaut 1 si la fonction est lancée. Elle vaut 0 s’il y a une erreur de paramètre qui empêche de lancer la fonction.
  • unsigned char comPort : numéro de port. Il est préférable d’utiliser les variables prédéfinies :
COM_PORT_SER0, COM_PORT_SER1, COM_PORT_SER2, COM_PORT_SER3, COM_PORT_SER4, COM_PORT_SER5, COM_PORT_SER6, COM_PORT_SER7, COM_PORT_SOCK0, COM_PORT_SOCK1, COM_PORT_SOCK2, COM_PORT_SOCK3, COM_PORT_WSOCK0, COM_PORT_WSOCK1, COM_PORT_WSOCK2, COM_PORT_WSOCK3.
  • unsigned char tcp : type de Modbus (0 : Modbus classique, 1 : Modbus TCP).
  • unsigned char slave : numéro d’esclave.
  • unsigned char type : type de variable à écrire (bit ou mot). Il est préférable d’utiliser les variables prédéfinies :
MODBUS_TYPE_MW, MODBUS_TYPE_M.
  • unsigned short masterAdd : adresse de la première donnée dans la mémoire du maître pour l’émission.
  • unsigned short nbValues : nombre de donnée à écrire.
  • unsigned short slaveAdd : adresse de la première donnée dans l’esclave.
  • unsigned char forceMultFunc : valeur à mettre à 1 pour forcer l’utilisation de la fonction d’écriture de plusieurs mots (code fonction 10h au lieu de 06h) ou plusieurs bits (code fonction 0Fh au lieu de 05h). Mettre 0 dans le cas contraire et le système sélectionne le code fonction en fonction du nombre d’éléments à écrire.
6.5.2.3 Modbus TCP maître

Il faut gérer une ouverture et une fermeture de socket. La gestion des trames est identique au Modbus sur port série. Il faut faire attention à bien renseigner les deux premiers paramètres des fonctions ModbusRead et ModbusWrite. Avant chaque lecture ou écriture, il faut recontrôler l’état du socket qui peut avoir perdu sa connexion. Depuis le 02/10/13, il n’est plus nécessaire de régler le port à 502 dans les variables PORT_SOCK* et PORT_WSOCK* (cela est fait dans la nouvelle fonction).

void ComConnect (unsigned char comPort, char *host, unsigned short port);

Cette fonction ouvre le socket. Il faut ensuite tester l’état du socket avant de générer des trames.

  • unsigned char comPort : numéro du port de communication. Mettre COM_PORT_SOCK0, COM_PORT_SOCK1, COM_PORT_SOCK2, COM_PORT_SOCK3 pour les socket Ethernet et mettre COM_PORT_WSOCK0, COM_PORT_WSOCK1, COM_PORT_WSOCK2, COM_PORT_WSOCK3 pour les sockets Wi-Fi. Cette valeur doit être en accord avec le premier paramètre des fonctions ModbusRead et ModbusWrite.
  • char *host: chaîne de caractères contenant l’adresse IP ou l’adresse si le DNS est activé.
  • unsigned short port : numéro du port du client ou du serveur auquel il faut se connecter. Par exemple 502 pour du Modbus.

void ComClose (unsigned char comPort);

Cette fonction ferme le socket.

  • unsigned char comPort: numéro du port de communication. Mettre COM_PORT_SOCK0, COM_PORT_SOCK1, COM_PORT_SOCK2, COM_PORT_SOCK3 pour les socket Ethernet et mettre COM_PORT_WSOCK0, COM_PORT_WSOCK1, COM_PORT_WSOCK2, COM_PORT_WSOCK3 pour les sockets Wi-Fi. Cette valeur doit être en accord avec le premier paramètre des fonctions ModbusRead et ModbusWrite.

unsigned char ComGetSockState (unsigned char comPort);

Cette fonction lit l’état du socket.

  • unsigned char (valeur de retour) : variable de retour de type unsigned char. Elle vaut SOCK_STATE_CLOSED (valeur 0) si le socket est fermé. Elle vaut SOCK_STATE_READY (valeur 1) si le socket est connecté (pour une fonction maître ou esclave). Elle vaut SOCK_STATE_CONNECT (valeur 2) si le socket est en cours de connexion. Elle vaut SOCK_STATE_CLOSE (valeur 3) si le socket est en cours de fermeture.
  • unsigned char comPort : numéro du port de communication. Mettre COM_PORT_SOCK0, COM_PORT_SOCK1, COM_PORT_SOCK2, COM_PORT_SOCK3 pour les socket Ethernet et mettre COM_PORT_WSOCK0, COM_PORT_WSOCK1, COM_PORT_WSOCK2, COM_PORT_WSOCK3 pour les sockets Wi-Fi. Cette valeur doit être en accord avec le premier paramètre des fonctions ModbusRead et ModbusWrite.

Remarque : La tentative de connexion d’un socket peut ne pas fonctionner. Il faut donc que l’application gère un timeout et gère la non connexion.

6.5.3 Gestion des fichiers

La gestion des fichiers sur les automates peut se faire sur la carte SD mais aussi sur une clé USB. Ces deux supports doivent être formatés en FAT32.

Information
Seuls certains automates ont des ports USB nous permettant de brancher une clé USB. Parmi ces automates on retrouve les automates MicroARM-A2, MicroARM-A9 et MicroARM-A12.

Les opérations de manipulation de fichiers sont bloquantes. Elles prennent du temps, surtout lorsqu’il faut parcourir la carte ou la clé pour trouver les secteurs libres. Elles ne peuvent pas être traitées dans une interruption. Ainsi, la plupart des fonctions de gestion des fichiers génèrent des ResetWatchdog afin de ne pas provoquer de
dépassement de watchdog. Un ResetWatchdog va permettre de mettre la valeur de la temporisation d’exécution à 0 pour ne pas qu’un watchdog soit levé, bloquant le programme.
La carte ou la clé est divisée en clusters. Chaque cluster est à nouveau divisé en 4 secteurs de 512 octets. Pour écrire des données sur un secteur, il faut lire tout le secteur, modifier les octets et réécrire les 512 octets.
L’insertion de la carte SD à chaud exécute un cFatInit qui dure 1255ms. Les autres opérations prennent de 30 à 100ms.

6.5.3.1 Structure des noms de fichier

Il faut indiquer le type de support (SD pour carte SD ou USB pour une clé USB) suivi de « : », le nom du fichier (maximum 8 caractères) et l’extension (maximum 3 caractères). Le système ne fait pas la différence entre les majuscules et les minuscules.

Exemple :

char *achTmpFileName = "USB:LOG.TMP";
char *achTmpFileName = "SD:LOG.TMP";
6.5.3.2 Structure « FSFile »

La structure « FSFile » est une structure qui contient des informations durant le travail sur un fichier (de son ouverture à sa fermeture). Pour des raisons d’inutilité, on ne décrira pas cette structure dans cette documentation car il n’y a pas d’action particulière à faire avec cette structure, ce sont les fonctions que l’on va appeler pour travailler sur le fichier qui vont impacter cette variable.
S’il s’écoule plusieurs tours de cycle entre l’ouverture et la fermeture du fichier, il faut que cette variable soit de type global.

unsigned char FSOpen (FSFile *fd, char *name, unsigned char type);

Cette fonction permet d’ouvrir le fichier avant de faire une lecture ou une écriture.

  • unsigned char (valeur de retour) variable de type unsigned char. Elle vaut 1 si l’action est correcte. Elle vaut 0 en cas d’erreur.
  • FSFile *fd : adresse d’une variable de type FSFile.
  • char *name : chaîne de caractères contenant le nom du fichier.
  • unsigned char type : indique l’ouverture du fichier pour une lecture (FA_READ), pour un ajout (FA_APPEND) ou pour une écriture au début du fichier (valeur FA_WRITE).

Exemple :

FSFile fd;
unsigned char chResult;
chResult = FSOpen (&fd, "SD:SIREA.TXT", FA_WRITE);

void FSClose (FSFile *fd);

Cette fonction permet de fermer le fichier lorsque les écritures sont terminées. Il n’est pas nécessaire d’appeler cette fonction si le fichier a été ouvert pour une lecture.

  • FSFile *fd : adresse d’une variable de type FSFile.

Exemple :

FSFile fd;
FSClose (&fd);

unsigned char FSSeek (FSFile *fd, unsigned long position);

Cette fonction permet de se positionner dans un fichier. Il faut exécuter la fonction FSOpen avant.

  • unsigned char (valeur de retour): variable de type unsigned char. Elle vaut 1 si l’action est correcte. Elle vaut 0 si la position demandée est en dehors du fichier.
  • FSFile *fd : adresse d’une variable de type FSFile.
  • unsigned long position : octet à atteindre.

Exemple :

FSFile fd;
unsigned char chResult;
chResult = FSSeek (&fd, 10);

unsigned char FSDelete (char *name);

Cette fonction permet d’effacer un fichier.

  • unsigned char (valeur de retour): variable de type unsigned char. Elle vaut 1 si l’action est correcte. Elle vaut 0 en cas d’erreur.
  • char *name : chaîne de caractères contenant le nom du fichier.

Exemple :

unsigned char chResult;
chResult = FSDelete ("SD:LOG.TMP");

unsigned char FSCopy (char *src, char *dst);

Cette fonction permet de copier un fichier.

  • unsigned char (valeur de retour): variable de type unsigned char. Elle vaut 1 si l’action est correcte. Elle vaut 0 en cas d’erreur.
  • char *src: chaîne de caractères contenant le nom du fichier source.
  • char *dst : chaîne de caractères contenant le nom du fichier destination.

Exemple :

unsigned char chResult;
chResult = FSCopy ("SD:LOG.TMP", "SD:LOG2.TMP");

unsigned char FSMove (char *src, char *dst);

Cette fonction permet de renommer un fichier. Elle permet aussi de faire un déplacement si le dossier source est différent du dossier destination. Les dossiers source et destination doivent être sur le même support (clé USB ou carte SD).

  • unsigned char (valeur de retour): variable de type unsigned char. Elle vaut 1 si l’action est correcte. Elle vaut 0 en cas d’erreur.
  • char *src : chaîne de caractères contenant le nom du fichier source.
  • char *dst : chaîne de caractères contenant le nom du fichier destination.

Exemple :

unsigned char chResult;
chResult = FSMove ("SD:LOG.TMP", "SD:LOG2.TMP");

unsigned long FSRead (FSFile *fd, char *data, unsigned long size);

Cette fonction permet de lire une quantité de caractères. Il faut exécuter la fonction FSOpen avant.

  • unsigned long (valeur de retour) : variable de type unsigned long. Elle contient le nombre de caractères lus.
  • FSFile *fd : adresse d’une variable de type FSFile.
  • char *data : chaîne de caractères qui contiendra les caractères lus.
  • unsigned long size : nombre de caractères à lire.

Exemple :

SFile fd;
char strChaine[20];
unsigned long lTaille;
lTaille = FSRead (&fd, strChaine, 10);

unsigned char FSWrite (FSFile *fd, char *data, long size);

Cette fonction permet d’écrire une quantité de caractères dans le fichier. Il faut exécuter la fonction FSOpen avant et la fonction FSClose après.

  • unsigned char (valeur de retour): variable de type unsigned char. Elle vaut 1 si l’action est correcte. Elle vaut 0 en cas d’erreur.
  • FSFile *fd : adresse d’une variable de type FSFile.
  • char *data : chaîne de caractères qui contient les caractères à écrire.
  • long size : nombre de caractères à écrire. Ce paramètre peut être remplacé par une valeur négative pour que la fonction calcule elle même la longueur.

Exemple :

FSFile fd;
char *strChaine = "Bonjour";
unsigned char chResult;
chResult = FSWrite (&fd, strChaine, 7);

unsigned char FSReadLine (FSFile *fd, char *data, unsigned short maxLen, unsigned char *broken);

Cette fonction permet de lire une ligne du fichier. Il faut exécuter la fonction FSOpen avant.

  • unsigned char (valeur de retour): variable de type unsigned char. Elle vaut 1 si l’action est correcte. Elle vaut 0 en cas d’erreur.
  • FSFile *fd : adresse d’une variable de type FSFile.
  • char *data : chaîne de caractères qui contiendra les caractères lus.
  • unsigned short maxLen : nombre maximum de caractères à lire.
  • unsigned char *broken : adresse d’une variable de type unsigned char. La fonction renverra dans cette variable 0 si la ligne retournée est complète et renvoie 1 si la ligne retournée est incomplète.

Exemple :

FSFile fd;
char strChaine[20];
unsigned char chRetour;
unsigned char chResult;
chResult = FSReadLine (&fd, strChaine, 20, &chRetour);

unsigned char FSReadCSVRow (FSFile *fd, unsigned short *nbCols, char *data, unsigned short maxLen);

Cette fonction permet de lire une ligne de donnée contenant plusieurs colonnes. Il faut faire exécuter la fonction FSOpen avant.

  • unsigned char (valeur de retour) : variable de type unsigned char. Elle vaut 1 si l’action est correcte. Elle vaut 0 en cas d’erreur.
  • FSFile *fd : adresse d’une variable de type FSFile.
  • unsigned short *nbCols : adresse d’une variable de type unsigned short. La fonction renverra dans cette variable le nombre de colonnes trouvées.
  • char *data : chaîne de caractères qui contiendra les caractères lus. Les différentes colonnes sont séparées par 0.
  • unsigned short maxLen : nombre maximum de caractères à lire.

Exemple :

FSFile fd;
char strChaine[20];
unsigned short nbCol;
unsigned char chResult;
chResult = FSReadCSVRow (&fd, &nbCol, strChaine, 20);

unsigned char FSWriteCSVRow (FSFile *fd, unsigned short nbCols, char *data);

Cette fonction permet d’écrire une ligne de donnée contenant plusieurs colonnes. Il faut exécuter la fonction FSOpen avant et la fonction FSClose après.

  • unsigned char (valeur de retou): variable de type unsigned char. Elle vaut 1 si l’action est correcte. Elle vaut 0 en cas d’erreur.
  • FSFile *fd: adresse d’une variable de type FSFile.
  • unsigned short nbCols : nombre de colonnes à écrire.
  • char *data : chaîne de caractères contenant les caractères à écrire. Les différentes colonnes sont séparées par 0.

Exemple :

FSFile fd;
char *strChaine = "Col1-Col2";
chaine[4] = 0;
unsigned char chResult;
chResult = FSWriteCSVRow (&fd, 2, strChaine);

unsigned char FSCreateFolder (char *name);

Cette fonction permet de créer un répertoire. Elle n’est valable que depuis le code système 8.14 ou 9.14.

  • unsigned char (valeur de retour) : variable de type unsigned char. Elle vaut 1 si l’action est correcte. Elle vaut 0 en cas d’erreur (répertoire déjà existant, problème d’écriture sur le support, …).
  • char *name : chaîne de caractères contenant le nom du répertoire et son chemin.

Exemple :

%M0 := FSCreateFolder ("test1");
%M1 := FSCreateFolder ("test1/test2");
%M2 := FSCreateFolder ("test1/test2/test3");

6.5.4 Gestion des journaux

6.5.4.1 Format timestamp

C’est une variable de type « long » contenant le nombre de secondes écoulées depuis le 1er janvier 1970. Une variable de type timestamp peut être convertie sous format « Date ». Les fonctions dateToTime et timeToDate sont disponibles pour effectuer ces conversions.
L’horodatage est en temps UTC. La date est en heure locale. Elle est donc influencée par le décalage été/hiver et le fuseau horaire.

6.5.4.2 Structure « Date »

Une structure Date est constituée de plusieurs éléments :

int secSecondes [0, 59]
int minMinutes [0, 59]
int hourHeure commençant à minuit [0, 23]
int mdayJour du mois [1, 31]
int monMois, commençant par janvier [1, 12]
int yearAnnée
int wdayJour commençant par le dimanche [0, 6]
int ydayJour commençant au 1er janvier [0, 365]
int isdstHeure d’été ou d’hiver
Tableau sur la structure « Date »
6.5.4.3 Fonctions de conversions Date/timestamp

unsigned long dateToTime (Date d);

Cette fonction convertit une structure « Date » en timestamp. Elle fonctionne du 01/01/1970 00:00:00 (valeur de retour = 0) au 01/19/2038 03:14:07 (valeur de retour = 2147483647). Sinon, le retour est -1.

  • unsigned long (valeur de retour) : variable de type long
  • Date d : variable de structure « Date ».

Exemple :

long lTSDate ;
Date d ;
d.mday = 25 ;
d.mon = 12 ;
d.year = 2010 ;
lTSDate = dateToTime(d) ;

Date timeToDate (unsigned long time);

Cette fonction convertit un timestamp en structure « Date ».

  • La valeur 2147483647 renvoie 01/19/2038 03:14:07.
  • La valeur 0 renvoie 01/01/1970 00:00:00.
  • La valeur – 2147483648 envoie le 19/01/2038 03:14:08.
  • La valeur -1 envoie le 02/07/2106 06:28:15.
  • Date (valeur de retour) : variable de structure « Date ».
  • unsigned long time : timestamp que l’on souhaite convertir.

Exemple :

long lTSDate ;
Date d ;
d = timeToDate(lTSDate) ;
Heure = d.hour ;
6.5.4.4 Format LogValue

Cette structure permet de récupérer les données enregistrées. Elle comprend les éléments suivants :

unsigned long time;Horloge de l’enregistrement des données.
LogVariable *var;Pointeur sur les données historiques
char *string;chaîne de caractères de l’événement ou de l’alarme. Cette chaîne est NULL si elle est inexistante.
unsigned char type;Lors de la récupération d’événements, il s’agit de LOG_ENTRY_TYPE_EVENT (valeur 1) dans le cas d’un message, LOG_ENTRY_TYPE_ALARM_ON (valeur 2) dans le cas de l’apparition d’une erreur et LOG_ENTRY_ALARM_OFF
(valeur 3) dans le cas d’une disparition d’erreur.
double value;Valeur de la variable enregistrée. Pour la récupération d’un événement, la valeur de ce champ est la valeur de la variable.
Tableau sur la structure LogValue
6.5.4.5 Fonctions de gestions des données historisées

unsigned short LogAlQuery (unsigned long minTime, unsigned long maxTime, unsigned char order);

Cette fonction ouvre la base de données pour récupérer les défauts présents. La fonction LogFetch doit ensuite être être exécutée dans le même cycle pour la récupération des données.

  • unsigned short (valeur de retour) : variable de type unsigned short. Elle correspond au nombre d’alarmes récupérées pour la période demandée.
  • unsigned long minTime : date de début de recherche au format timestamp. Elle est définie à 0 pour une date illimitée.
  • unsigned long maxTime : date de fin de recherche au format timestamp. La valeur 0 correspond à l’illimitée.
  • unsigned char order : ordre de tri. Il faut utiliser LOG_QUERY_ORDER_ASC pour un ordre croissant des données (le registre le plus ancien en premier) ou LOG_QUERY_ORDER_DESC pour un ordre descendant (le registre le plus ancien en dernier).

Exemple :

long tsStart ;
long tsEnd ;
unsigned short nbrErr ;
nbrErr = LogAlQuery (tsStart, tsEnd, LOG_QUERY_ORDER_DESC) ;

unsigned short LogEvQuery (unsigned long minTime, unsigned long maxTime, unsigned char order);

Cette fonction ouvre la base de données pour récupérer le journal de tous les défauts qui sont apparus, qui sont disparus et de toutes les messages qui sont apparus.
La fonction LogFetch doit ensuite être exécutée dans le même cycle pour la récupération des données. C’est dans le champ « Type » de la variable de structure LogValue qui peut faire la différence entre les trois différents types de données.

  • unsigned short (valeur de retour) : variable de type unsigned short. Elle correspond au nombre d’événements récupérés pour la période période demandée.
  • unsigned long minTime : date de début de recherche au format timestamp. Elle est définie à 0 pour une date illimitée.
  • unsigned long maxTime : date de fin de recherche au format timestamp. La valeur 0 correspond à l’illimitée.
  • unsigned char order : ordre de tri. Il faut utiliser LOG_QUERY_ORDER_ASC pour avoir par ordre croissant les données (le registre le plus registre le plus ancien en première position) ou LOG_QUERY_ORDER_DESC pour les avoir dans un ordre décroissant (le registre le plus ancien en dernière position).

Exemple :

long lTSDebut ;
long lTSFin ;
unsigned short nNbrDef ;
nNbrEv = LogEvQuery (lTSDebut, lTSFin, LOG_QUERY_ORDER_DESC) ;

unsigned short LogTrQuery (LogVariable *var, unsigned long minTime, unsigned long maxTime, unsigned char order);

Cette fonction ouvre la base de données pour récupérer une valeur. La fonction LogFetch doit ensuite être exécutée dans le même cycle pour la récupération des données.

  • unsigned short (valeur de retour) : variable de type unsigned short. Nombre de valeurs récupérées pour la période demandée.
  • LogVariable *var : variable de type unsigned short. Index de la variable à extraire.
  • unsigned long minTime : date de début de recherche au format horodateur. La valeur 0 correspond à une recherche illimitée.
  • unsigned long maxTime : date de fin de recherche au format horodateur. La valeur 0 est illimitée.
  • unsigned char order : ordre de tri. Il faut utiliser LOG_QUERY_ORDER_ASC pour avoir par ordre croissant les données (le registre le plus registre le plus ancien en première position) ou LOG_QUERY_ORDER_DESC pour les avoir dans un ordre décroissant (le registre le plus ancien en dernière position).

Exemple :

long lTSDebut ;
long lTSFin ;
unsigned short nNbrDef ;
LogVariable *var = LogFindVariable("%MW20") ;
nNbrTr = LogEvQuery (var, lTSDebut, lTSFin, LOG_QUERY_ORDER_DESC) ;

unsigned char LogFetch (LogValue *val);

Cette fonction récupère une donnée. Il faut faire plusieurs appels à cette fonction pour récupérer plusieurs données. Il faut utiliser les fonctions LogAlQuery, LogEvQuery ou LogTrQuery juste avant de récupérer un paquet de données. Tous le paquet de données doit être récupérés dans le même tour de cycle.

  • unsigned char (valeur de retour) : variable de type unsigned char. Elle vaut 0 lorsqu’un problème survient.
  • LogValue *val : structure de type LogValue. Elle contiendra les données.

Exemple :

LogValue stDef ;
LogFetch (&stDef) ;

unsigned char LogAlSave (char *fileName, unsigned long minTime, unsigned long maxTime);

Cette fonction permet de sauvegarder les alarmes sur une carte SD ou une clé USB.

  • unsigned char (valeur de retour) : variable de type unsigned char. Elle vaut 0 lorsqu’un problème survient.
  • char *fileName : chaîne de caractères contenant le nom du fichier.
  • unsigned long minTime : date de début de recherche au format timestamp. Il faut mettre cette variable à 0 pour une recherche illimitée.
  • unsigned long maxTime : date de fin de recherche au format timestamp. La valeur 0 correspond à une date illimitée.

Exemple :

long lTSDebut ;
long lTSFin ;
unsigned short ret ;
ret = LogAlSave ("SD:Alarme.csv", lTSDebut, lTSFin) ;

unsigned char LogEvSave (char *fileName, unsigned long minTime, unsigned long maxTime);

Cette fonction permet de sauvegarder les événements sur une carte SD ou une clé USB.

  • unsigned char (valeur de retour) : variable de type unsigned char. Elle vaut 0 lorsqu’un problème survient.
  • char *fileName : chaîne de caractères contenant le nom du fichier.
  • unsigned long minTime : date de début de recherche au format timestamp. Il faut mettre cette variable à 0 pour une recherche illimitée.
  • unsigned long maxTime : date de fin de recherche au format timestamp. La valeur 0 correspond à une date illimitée.

Exemple :

long lTSDebut ;
long lTSFin ;
unsigned short ret ;
ret = LogEvSave ("SD:Evenem.csv", lTSDebut, lTSFin) ;

unsigned char LogTrSave (char *fileName, LogVariable *var, unsigned long minTime, unsigned long maxTime);

Cette fonction permet de sauvegarder les valeurs sur une carte SD ou une clé USB.
Il faut utiliser la fonction LogFindVariable avant d’appeler cette fonction.

  • unsigned char (valeur de retour) : variable de type unsigned char. Elle vaut 0 lorsqu’un problème survient.
  • char *fileName : chaîne de caractères contenant le nom du fichier.
  • LogVariable *var : numéro de la variable enregistrée.
  • unsigned long minTime : date de début de recherche au format timestamp. Il faut mettre cette variable à 0 pour une recherche illimitée.
  • unsigned long maxTime : date de fin de recherche au format timestamp. La valeur 0 correspond à une date illimitée.

Exemple :

long lTSDebut ;
long lTSFin ;
unsigned short ret ;
LogVariable *var = LogFindVariable("%MW20") ;
if (var) {ret = LogTrSave ("SD:Valeur.csv", var, lTSDebut, lTSFin);}

unsigned char LogSave (FSFile *fd);

Cette fonction est utilisée pour exporter le résultat d’une requête d’historique vers un fichier déjà ouvert. Cette fonction est valable depuis le code système 8.0 du 11/07/16.

  • unsigned char (valeur de retour) : variable de type unsigned char. Elle vaut 0 s’il y a un problème.
  • FSFile *fd : adresse d’une variable de type FSFile.

Exemple :

FSFile fd ;
char chRet
long lTSDebut ;
long lTSFin ;
unsigned short nNbrDef ;
LogVariable *var = LogFindVariable("%MW20") ;
nNbrTr = LogTrQuery (var, lTSDebut, lTSFin, LOG_QUERY_ORDER_DESC) ;
if (FSOpen (&fd, "SD:Extract.csv", FA_WRITE))
{
  chRet = LogSave (&fd) ;
  FSClose (&fd) ;
}

void LogPurge (void);

Cette fonction supprime tous les événements et les courbes de toutes les variables. Elle ne prend aucun paramètre en entrée ni en sortie.

Exemple :

LogPurge () ;

void LogEvPurge (void);

Cette fonction supprime tous les événements. Elle ne prend aucun paramètre en entrée ni en sortie.

Exemple :

LogEvPurge () ;

void LogTrPurge (LogVariable *var);

Cette fonction supprime le log complet d’une variable. Il faut utiliser la fonction LogFindVariable avant d’appeler cette fonction.

  • LogVariable *var : numéro de la variable journalisée.

Exemple :

LogVariable *var = LogFindVariable("%MW20") ;
ret = LogTrPurge (var) ;

6.5.5 Chaînes de caractères

double StrToNum (char *s);

Cette fonction convertit une chaîne de caractères en une valeur numérique avec virgule. Elle ne traite que les premiers caractères numériques.

  • double (valeur de retour) : variable de type double.
  • char *s : La chaîne de caractères à convertir.

Exemple :

int nEntier = StrToNum ( "-200 ") ;
float fFlottant = StrToNum ( "3.14 ") ;

int sprintf(char *str, const char *string,…);

Cette fonction est similaire à la fonction standard du langage C sprintf. Elle est utilisée pour remplir des chaînes de caractères avec des valeurs numériques et/ou des caractères de chaîne.
Cette fonction peut être remplacée par StrSet, qui permet en outre de contrôler la longueur des chaînes de caractères.

  • int (valeur de retour) : code de valeur de retour
  • char *str : pointeur sur la chaîne de caractères à remplir.
  • const char *string : structure de la chaîne de caractères à créer avec les éléments constants et le type des éléments variables. Un exemple de type est:
    – % c (caractère)
    – % I ou % d (entier)
    – % s (chaîne de caractères)
    – % f (floatant).
  • Paramètre 3 et suivants : liste des éléments variables à placer dans la chaîne de caractères.

Exemple :

char * strUnit = "Bar" ;
Char strValeur [20] ;
int nMesure ;
sprntf (strValeur, "measure =% i% s ", NMesure, StrUnit) ;

void StrToUpper (char *buf);

Cette fonction remplace les caractères minuscules d’une chaîne de caractères par des caractères majuscules.
Cette fonction peut-être utilisée à partir de la version 8.6 du 27/12/16 et les versions 9 du code système sinon elle est à remplacer par la fonction void upper (char *buf);

char *buf : pointeur sur la chaîne de caractères

Exemple :

char * strTexte = "Hello " ;
Supérieur (StrTexte) ;

void StrToLower (char *buf);

Cette fonction remplace les caractères majuscules d’une chaîne de caractères par des caractères minuscules.
Cette fonction peut-être utilisée à partir de la version 8.6 du 27/12/16 et les versions 9 du code système sinon elle est à remplacer par la fonction void lower (char *buf);

char *buf : pointeur sur la chaîne de caractères

Exemple :

char * strTexte = "Hello " ;
Supérieur (strTexte) ;

int StrSet (char *s, const char *format, …);

Cette fonction est identique à sprintf mais elle effectue des vérifications sur la taille des chaînes de caractères. Il est donc préférable d’utiliser cette fonction.

int (valeur de retour) : code de valeur de retour
char *str : pointeur sur la chaîne de caractères à remplir.
const char *string : structure de la chaîne de caractères à créer avec les éléments constants et le type des éléments variables. Un exemple de type est:
– % c (caractère)
– % I ou % d (entier)
– % s (chaîne de caractères)
– % f (floatant).
Paramètre 3 et suivants : liste des éléments variables à placer dans la chaîne de caractères.

char StrGetChar (char *s, unsigned long pos);

Cette fonction est utilisée pour récupérer un caractère dans une chaîne de caractères.

char (valeur de retour) : variable char contenant le caractère récupéré ou 0 si la position demandée est en dehors de la chaîne de caractères.
char *s : pointeur sur la chaîne de caractères à examiner.
unsigned long pos : variable de type unsigned long indiquant l’emplacement du caractère recherché dans la chaîne de caractères.

Exemple :

Char ChCar ;
chCar = StrGetChar(%MS20, 10) ;

unsigned char StrSetChar (char *s, unsigned long pos, char c);

Cette fonction permet de modifier un caractère dans une chaîne de caractères. Elle va vérifier si on essaye de changer un caractère en dehors de la chaîne de caractères. Elle est valable depuis la version 9.0 du 26/09/16 du code système.

unsigned char (valeur de retour) : variable de type unsigned char. Elle vaut 1 si l’action est correcte. Elle vaut 0 si l’action action n’a pas pu être effectuée.
char *s : pointeur sur la chaîne de caractères à examiner.
unsigned long pos : une variable de type unsigned long indiquant la place du caractère à modifier dans la chaîne de caractères.
char c : caractère à modifier.

Exemple :

char ChCar = ' C ' ;
unsigned char chRep = StrSetChar (%MS20, 10, ChCar) ;

7. IO Bus

Le Bus IO s’appuie sur le protocole Modbus pour communiquer entre un maître et des esclaves.
Le principe est d’établir la connexion entre les variables du maître et celles de l’esclave et le système gère automatiquement les trames de communication pour mettre à jour ces variables. Tout se passe du côté du maître. L’esclave répond simplement aux trames en suivant la norme Modbus.

7.1 Déclaration des équipements esclaves

Pour définir un esclave, cliquez sur l’onglet « Programme » dans la barre de menu de la fenêtre principale. Cliquez ensuite sur « Equipements » puis sur « Ajouter un équipements distants ». La fenêtre popup suivante s’ouvre:

Capture d’écran de la fenêtre popup « Propriétés de l’équipement »

Les champs suivants sont disponibles:

  • Index : numéro de l’esclave. Chaque équipement est repéré par un numéro unique.
  • Libellé : texte servant uniquement d’aide à la compréhension et qui n’a pas d’incidence dans le fonctionnement.
  • Port : type de port. Il faut choisir entre Série, Ethernet, Wi-Fi ou Radio. Pour un port série, il faut préciser le numéro du port, la vitesse et le format de communication. Pour un port Ethernet ou Wi-Fi, il faut préciser l’adresse IP de l’esclave. Pour un port radio, il faut préciser le canal de fréquence.
  • Protocole : protocole pour communiquer. Il faut choisir entre Modbus (c’est le ModBus standard), Sirea (c’est le ModBus étendu qui n’est utilisable qu’avec les appareil Sirea), Modbus (mots inversés) (les mots qui constituent des entiers longs et des flottants sont inversés par rapport au Modbus standard), Modbus (écritures multiples uniquement)(utilisé pour l’esclave 0 pour émettre des trames en broadcast à tous les esclaves) ou Modbus (mots inversés, écritures multiples uniquement).
  • Numéro d’esclave: numéro d’esclave ModBus.
  • Délai : délai intertrame en ms de la communication.
  • Timeout : temps entre le début de l’attente d’une réponse et le passage en erreur afin de continuer la communication.
  • Longueur maximale d’une trame : nombre d’octets maximal dans une trame, c’est à dire le nombre de mots multiplié par 2 ou le nombre de bits divisé par 8.
  • Regrouper les variables : case à cocher qui permet lors de la lecture de données de créer des trames plus longues mais moins nombreuses en faisant la lecture de données non intéressantes.

7.2 Déclaration des variables

Dans la Déclaration des variables, dans l’onglet « Communication », le champ « Adresse distante » doit être rempli avec l’adresse de l’esclave suivie d’un point et du numéro de l’équipement.

Par exemple si on écrit %MW16.1 alors cela signifie que la variable maître sera liée à la variable %MW16 de l’équipement 1.
De plus, dans l’onglet « Communication », il est possible de mettre à l’échelle la valeur.

7.3 État de la communication avec les équipements

7.3.1 Structure statistique

Il existe des informations sur l’état de la communication avec les équipements. Elles sont contenues dans une structure « LogStats ». Pour pouvoir lire cette structure, il faut d’abord obtenir un pointeur sur l’équipement et ensuite obtenir un pointeur sur la structure stockant les statistique de l’équipement.
Sirea a mis à disposition toute une bibliothèque de bloc fonction permettant d’obtenir simplement l’état de la communication.

Exemple pour obtenir la structure des statistique de l’équipement 1 :

LogDevice *dev = LogGetDevice (1) ;
LogStats stats = LogGetStats (dev) ;

7.3.2 Structure LogStats

unsigned long lastTimeOKHorodatage de la dernière trame OK
unsigned long lastTimeERRErreur sur l’horodatage de la dernière trame
unsigned char lastStateEtat de la dernière trame (0 : pas de communication, 1 : communication OK, plus de 250 : erreur)
unsigned long nbFramesOKNombre de trames OK
unsigned long nbFramesERRErreur sur le nombre de trames
Tableau sur la structure LogStats

8. Protocole HTTP

Pour un automate avec un port Ethernet, il est possible de développer un serveur Web avec MicroHMI.
Deux sockets doivent être utilisés. Le premier est configuré en mode COM_PROTOCOL_HTTP avec son port 80 et le suivant est configuré en mode COM_PROTOCOL_HTTP_QUERY avec son port 81.
L’utilisation de deux sockets permet d’avoir un affichage plus fluide et de charger correctement les images à être affichées.
Si l’automate dispose d’un port Ethernet, que l’option HTTP du code système est activée, et que l’application n’a pas d’IHM, le serveur Web pourra récupérer les fichiers dans le répertoire WWW de la carte SD. Il suffit d’indiquer dans un navigateur l’adresse IP de l’automate et le nom du fichier.

9. Wi-Fi

9.1 Mode

Il existe le mode Ad Hoc pour faire un point d’accès Wi-Fi à partir d’un automate et le mode client.
C’est la variable %SW95 (W_MODE) qui est utilisée pour le gérer.

ConstantesValeurDescription
WSOCK_MODE_OFF0Pas de connections WiFi
WSOCK_MODE_STA1Connexion en mode client
WSOCK_MODE_AP2Connexion en mode Ad Hoc
Tableau sur les modes de connexion Wi-Fi avec leur description

9.2 Fonctions utiles

void WSockSetSSID (char *ssid);

Cette fonction permet d’initialiser le nom de la station Wi-Fi, aussi bien en mode client qu’en mode Ad Hoc.
Cette propriété peut également être définie avec le paramètre « W_SSID » du fichier main.cfg. La norme autorise jusqu’à 32 caractères.

  • char *ssid : une chaîne de caractères contenant le SSID du réseau.

Exemple :

WSockSetSSID (TP-LINK _ 9B4144) ;

void WSockSetSecKey (char *key);

Cette fonction permet de définir la clé de sécurité, aussi bien en mode client qu’en mode Ad Hoc.
Cette propriété peut également être définie avec le paramètre « W_SKEY » du fichier main.cfg.

  • char *key : chaîne de caractères contenant la clé de sécurité

Exemple :

WSockSetSecKey ("123456") ;

void WSockSetSecType (char *type);

Cette fonction est utilisée pour régler le type de cryptage. Elle est particulièrement utile en mode Ad Hoc car en mode client il suffit de ne pas l’appeler pour utiliser la détection automatique.
Cette propriété peut également être définie avec le paramètre « W_STYPE » du fichier main.cfg.

  • char *type : chaîne de caractères contenant le type de cryptage. Les valeurs possibles sont «  » (une chaîne de caractères vide utilise la détection automatique), OPEN (pas de cryptage), WEP, WPA, WPAAES, WPA2AES, WPA2TKIP ou WPA2.

Exemple :

WSockSetSecType ("") ;

void WSockSetKey (char *type, char *key);

Cette fonction permet de définir le type de cryptage et la clé de sécurité. C’est l’équivalent des fonctions WSockSetSecKey et WSockSetSecType.

  • char *type : chaîne de caractères contenant le type de cryptage. Les valeurs possibles sont «  » (une chaîne de caractères vide utilise la détection automatique), OPEN (pas de cryptage), WEP, WPA, WPAAES, WPA2AES, WPA2TKIP ou WPA2.
  • char *key : chaîne de caractères contenant la clé de sécurité

Exemple :

WSockSetKey ( "", "123456 ") ;

10. Connexion à un serveur

Il est très facile d’établir une connexion avec un MicroSERVER afin de remonter des données. Les données à remonter doivent être configurées dans les onglets « Historisation » et « Serveur distant » dans l’onglet « Propriétés de la variable » dans l’éditeur de variable. Cette communication peut se faire par un port série s’il y a un modem GPRS derrière.

10.1 Réglage

La fenêtre de paramétrage est accessible dans MicroLADDER dans l’onglet « Programme » de la barre de menu de la fenêtre principale puis dans « Equipement » puis « Equipement de base ».

Capture d’écran de la fenêtre « Propriétés de l’équipement »

Les paramètres sont identiques à l’utilisation de la fonction LogSetRemoteDevice décrite dans la section 10.2 Réglage par programmation.
Par contre il est à noter que le champs « Taille de la mémoire (en octets) » doit être spécifié pour les automates ne disposant pas de RAM sauvegardée. On doit y rentrer la taille de la RAM allouée à la mémorisation des historiques. Pour les automates disposant d’une RAM sauvegardée, toute la RAM est utilisée.
Il n’est pas nécessaire de préciser le port du serveur si c’est le port par défaut (13214) qui est utilisé.

10.2 Réglage par programmation

void LogSetRemoteDevice (long index, char *type, char *label, unsigned char comPort, unsigned short speed, unsigned short format, char *host, unsigned short sockPort, unsigned short freq, unsigned long timeout, char *password);

Cette fonction est utilisée si il y a des paramètres de connexion qui évoluent pendant l’exécution du programme. Cette fonction est active sur front. Elle n’est appelée qu’une seule fois ou si les paramètres de communication changent.

  • long index : entier de type long indiquant l’index du dispositif qui veut se connecter au serveur.
  • char *type : chaîne de caractères contenant le type de dispositif. Cette information est uniquement utilisée pour réaliser l’affichage sur le serveur.
  • char *label : chaîne de caractères contenant l’étiquette ou l’emplacement. Cette information est uniquement utilisée pour réaliser l’affichage sur le serveur.
  • unsigned char comPort : identification du port de communication utilisé pour la communication.
  • unsigned short speed : indication de la vitesse de communication. Pour une communication en Ethernet ou Wi-Fi, il est nécessaire de mettre COM_SPEED_NONE.
  • unsigned short format : format de communication. Pour une communication en Ethernet ou en Wi-Fi, il est nécessaire de mettre COM_FORMAT_NONE.
  • char *host : chaîne de caractères contenant l’adresse du serveur.
  • unsigned short sockPort : port du serveur distant. Par défaut, c’est le port 13214.
  • unsigned short freq : identification de la fréquence radio en cas d’utilisation de lora.
  • unsigned long timeout : entier de type long non signé contenant le délai d’attente en secondes.
  • char *password : chaîne de caractères contenant le mot de passe.

Exemple :

LogSetRemoteDevice (850, "Gestionnaire", "Castres", COM_PORT_SOCK3,
COM_SPEED_NONE, COM_FORMAT_NONE, "194.117.213.206", 13214,
RF_FREQ_NONE, 60, "mdp");
LogSetRemoteDevice (850, "Gestionnaire", "Castres", COM_PORT_SER2,
COM_SPEED_9600, COM_FORMAT_8N1, "194.117.213.206", 13214, RF_FREQ_NONE, 60, "mdp");

Il n’est pas nécessaire de paramétrer le protocole du socket Ethernet ou Wi-Fi car la fonction le fait elle-même.
Pour connaître l’état de la connexion, il faut tester la variable « LogDataPortStep ». Elle est supérieure ou égale à « LOG_DATA_PORT_STEP_WAIT_CMD » (valeur 6) lorsque tout va bien.
Les paramètres de connexion sont sauvegardés. Il n’est pas nécessaire de relancer la fonction LogSetRemoteDevice à chaque redémarrage de l’application, mais seulement après un chargement.

11. Gestion des historiques

Sur tous les automates, il est possible de gérer les historiques. S’il n’y a pas de RAM sauvegardée, les données seront perdues en cas de coupure de courant.
Il est possible d’avoir des événements (mémorisation de toutes les dates d’apparition et de disparition des pannes, mémorisation de toutes les dates d’apparition des messages), alarmes (récupération des défauts présents et de la date d’apparition) et des traces (avec dates et valeurs d’une donnée).
Ces informations sont stockées en mémoire. Il est ensuite possible de lire ces données et de les sauvegarder sur la carte SD ou la clé USB. Il est également possible de récupérer ces informations sur un système externe à l’aide d’un protocole spécifique.

11.1 Paramétrage de l’historique

Les paramètres se trouvent dans l’onglet « Historisation » dans la fenêtre « Propriétés de la variable » d’une variable.

11.2 Alarme

On peut créer une alarme pour cette variable en remplissant les champs suivants :

  • Condition de l’alarme : menu déroulant permettant de choisir l’opérateur logique de la condition de l’alarme (<, <=, >, >=, != et ==). Si on choisit « Aucune » alors il n’y aura pas d’alarmes pour cette variable.
  • Seuil de l’alarme : valeur de la condition avec laquelle l’alarme est activée. Une alarme est un état, et un événement se produit et est créé chaque fois qu’un seuil est dépassé.
  • Libellé d’apparition de l’alarme : texte qui apparaîtra lorsque la condition d’alarme est présente.
  • Libellé de disparition de l’alarme : texte qui apparaîtra lorsque la condition d’alarme disparaîtra.

11.3 Événement

On peut créer une événement pour cette variable en remplissant les champs suivants :

  • Condition de l’événement : menu déroulant permettant de choisir l’opérateur logique de la condition de l’événement (<, <=, >, >=, != et ==). Si on choisit « Aucune » alors il n’y aura pas d’événement pour cette variable.
  • Seuil de l’événement : valeur de la condition avec laquelle un événement sera activé.
  • Libellé de l’événement : texte qui apparaîtra lorsque la condition de l’événement est présente.

11.4 Courbe

On peut pour cette variable en remplissant les champs suivants : :

  • Type d’historisation : menu déroulant permettant de choisir comment on souhaite archiver les courbes de valeur dans le temps. Il y a trois types d’historisations :
    – « Aucune »: aucune historisation effectuée.
    – « Standard » : prend une valeur avec un intervalle régulier
    – « Moyennée » : prend une valeur moyenne sur une période de temps donnée
  • Délai d’historisation (en secondes) : délai d’archivage. Il dépend du type de journalisation parmi deux possibles:
    – « Standard » : temps spécifié (1 minute par exemple)
    – « Moyennée » : période de temps spécifiée
  • Seuil d’historisation : seuil au-delà duquel il enregistrera une valeur.

Pour qu’une donnée de courbe soit mémorisée, il faut que le temps écoulé soit supérieur ou égal au temps paramétré et que le delta de valeur soit supérieur ou égal au seuil paramétré.
Dans le cas d’une valeur non moyennée, à la fin de la période, si le delta de variation dépasse l’hystérésis, il y a enregistrement de cette valeur. Dans le cas d’une valeur moyennée, une moyenne est réalisée pendant la période, à la fin de la période, si le delta de variation dépasse l’hystérésis , il y a enregistrement de cette valeur.


LogVariable *LogFindVariable (char *address);

Cette fonction permet de pointer sur la structure « LogVariable » d’une variable historique. Elle doit être utilisée avant d’effectuer une opération sur une variable historique.

  • LogVariable * (valeur de retour): variable de type pointeur sur une structure LogVariable.
  • char *address : chaîne de caractères contenant la variable.

Exemple :

LogVariable * var = LogFindVariable ("%MW20 ") ;

LogVariable *LogGetVariable (unsigned short index);

Cette fonction fait la même chose que la fonction LogFindVariable mais à partir de l’indice de la variable historique. Les index pour utiliser cette fonction doivent être connus, mais les index sont assignés à la compilation et donc inconnus lors de l’écriture du programme.

  • LogVariable * (valeur de retour) : variable de type pointeur sur une structure LogVariable.
  • unsigned short index : index de la variable historique.

Exemple :

LogVariable * var = LogGetVariable (4) ;

12. Informations diverses

12.1 Taille mémoire disponible

Chaque variable déclarée occupe de la place en RAM. Si en plus cette variable est initialisée, elle occupe de la place dans la mémoire flash.
Pour connaître la quantité de mémoire utilisée, il faut regarder le fichier « size.txt » qui est généré lors de la compilation. Toutes les valeurs sont exprimées en octet.

Nom de la colonneSignification
text Taille du code programme
dataTaille des variables initialisées
bssTaille des variables non initialisées
decTaille mémoire (programme + variables) en décimal
hexTaille mémoire (programme + variables) en hexadécimal
filenameNom du fichier
Tableau sur les noms des colonnes d’un fichier size.txt et de leur signification

La somme des colonnes data et bss ne doit pas dépasser la taille de la RAM.
La somme des colonnes text et data ne doit pas dépasser la taille de la mémoire flash sachant que 64 ko sont déjà occupés par le moniteur.
Exemple :

Capture d’écran du contenu d’un fichier size.txt

Lorsque l’automate dispose d’une RAM sauvegardée, les variables automate (%M,%MW, …) sont stockées dans cette RAM sauvegardée et le compilateur ne contrôle pas la taille. Il peut potentiellement y avoir un débordement de mémoire, mais les RAM sauvegardées des automates sont tout de même assez grandes.
Pour savoir s’il reste de la place en RAM sauvegardée, une solution consiste à déclarer une variable sauvegardée et à regarder le nombre de points qu’il est possible d’historiser (voir la section 11. Gestion des historiques pour plus de détails).

Armoire AEH

Dernière modification le

1. Introduction

1.1 Lecteurs ciblés

Seuls des électriciens professionnels ou du personnel qualifié peuvent transporter ou installer ce produit.

L’utilisateur doit être parfaitement familiarisé avec la structure et le principe de
fonctionnement de l’ensemble du système de stockage d’énergie.

L’utilisateur doit être parfaitement familiarisé avec ce manuel et les normes locales en vigueur.

1.2 Utilisation du manuel

Lisez ce manuel avant l’installation de l’armoire AEH. Il doit être conservé à un endroit accessible à tout moment.

Le contenu de ce manuel sera régulièrement mis à jour ou révisé si nécessaire. En cas de doute, référez-vous toujours à la version la plus récente du manuel.

1.3 Symboles

Attention
Indique qu’il existe un risque potentiel. S’il n’est pas évité, il pourrait entraîner un dysfonctionnement de l’équipement et des dommages matériels.

Attention, risque de danger
Indique un danger avec un niveau de risque élevé qui, s’il n’est pas évité, pourrait entraîner la mort ou des blessures graves.

Attention, risque de choc électrique
Indique le risque de choc électrique lors des manipulations.

Attention, risque d’incendie
Indique le danger d’incendie qui peut exister si la procédure décrite n’est pas respectée.

5klluj

Attention, borne de conducteur de protection
L’équipement doit être correctement mis à la terre pour assurer la sécurité du personnel.

Attention, risque de choc électrique, stockage à décharge temporisée
Indique qu’un risque de choc électrique existe dû aux condensateurs chargés. Les manipulations sont à effectuer au moins 5 minutes après que toutes les alimentations ont été débranchées.

2. Consignes de sécurité

Le personnel d’installation et de maintenance de l’équipement doit être formé et familiarisé avec les exigences générales de sécurité lors de travaux sur des équipements électriques. Il doit également être familiarisé avec les lois et réglementations locales et les exigences de sécurité.

  • Lisez attentivement ce manuel avant l’opération. L’équipement ne sera pas sous garantie s’il ne fonctionne pas conformément à ce manuel.
  • Les opérations sur l’AEH est réservé aux électriciens qualifiés.
  • Lorsque l’AEH est en fonction, ne touchez aucune pièce électrique à l’exception de l’écran tactile.
  • Toutes les opérations électriques doivent être conformes aux normes locales de fonctionnement.
  • Le service de garantie de l’AEH ne comprend pas la maintenance du module.
  • L’autorisation de la société locale de services publics est requise avant d’installer le système de stockage d’énergie et seul le personnel professionnel est qualifié pour l’opération.

2.1 Transport

Le transport doit suivre les méthodes de transport décrites dans le manuel d’utilisateur. Le poids et le centre de gravité de l’AEH doivent être prises en compte pour le transport. Le centre de gravité est indiqué sur le colis.

Note 1 : L’armoire ne peut être démontée ni lors du transport ni de l’utilisation. Tout défaut attribué à une modification non autorisée par SIREA annulera la garantie légale et l’assurance qualité de son bon fonctionnement.

Note 2 : Les mouvements brusques d’inclinaison et les secousses violentes sur l’AEH doivent être absolument évitées ainsi que les chutes lors du levage.

Note 3 : Veuillez lire attentivement les paramètres étiquetés pour sélectionner un moyen de transport et un lieu de stockage approprié. Nous suggérons d’utiliser un chariot élévateur pour déplacer l’armoire.

danger

Attention, risque de danger
Pendant le transport, l’équipement de levage et le personnel doivent être qualifiés. L’AEH doit être placé verticalement et l’inclinaison ne peut pas être supérieure à 10 degrés. Il est interdit de placer l’AEH à l’envers ou de la transporter en position horizontale. Un levage et un transport incorrect peuvent entraîner des blessures graves, des pertes matérielles et des dommages à l’AEH.

2.2 Réception et stockage

L’AEH doit être soigneusement vérifiée avant de signer le document de la compagnie de transport. Vérifiez les articles reçus par rapport au bon de livraison. Si vous constatez un défaut ou des dommages, informez immédiatement la société de transport en annotant des réserves sur le bon de livraison. En cas de besoin, vous pouvez solliciter l’aide du service client de SIREA.

Dans le cas où l’armoire doit être stockée avant l’installation ou l’utilisation, elle doit être stockée de la manière suivante :

  • L’emballage doit être remis dans son état d’origine
  • L’AEH ne peut être stockée que lorsqu’elle est arrêtée et toutes les portes sont fermées
  • Lieu de stockage : Local sec pour protection des circuits internes de la poussière et de l’humidité
  • Température de stockage en fonction des batteries :
    • Pylontech : -20°C – 60°C
    • Snam Phenix : 5°C – 36°C
    • BeePlanet : -20°C – 60°C
  • Humidité de stockage : 0% – 90%
  • Altitude maximale : 2000 m

Attention
Stockage strictement interdit sans emballage ! Éviter le stockage directement au soleil. Garder l’armoire à la verticale et éviter de poser de l’équipement sur l’armoire.

2.3 Installation

Une installation correcte nécessite de suivre toutes les instructions du manuel d’utilisation concernant le transport, le montage, le câblage et la mise en service. SIREA ne garantit pas les dommages dus à une mauvaise utilisation.

Le niveau de protection de l’AEH est IP54, qui est conçu pour une installation à l’intérieur. Veuillez vous référer au chapitre 4 pour les instructions d’installation plus détaillées.

L’emplacement de l’installation doit être sec et sans condensation. L’AEH est uniquement destiné à être utilisé dans une zone d’exploitation électrique fermée.

Un espace de 80 cm doit être laissé entre le côté « conversion » de l’AEH et le mur afin de permettre un dépannage. Veuillez laisser un espace d’environ 20 cm entre le mur et le côté comportant une grille d’aération. Veuillez laisser un espace de 10 cm entre la face arrière de l’AEH et le mur.

emplacement d’installation de l’aeh
Emplacement d’installation de l’AEH

Attention, risque d’incendie
L’AEH convient uniquement pour le montage sur du béton ou d’autres surfaces non combustibles.

2.4 Opérateur

Le personnel d’installation et d’entretien de l’équipement doit être formé et familiarisé avec les exigences générales de sécurité lors de travaux sur les équipements électriques. Le personnel d’installation et de service doit également être familiarisé avec les lois ; les réglementations locales et les exigences de sécurité.

2.5 Réparation et entretien

58d29dfcdc164e9dd9e668c8

Avertissement, risque de choc électrique
La réparation et l’entretien doivent être effectués après 5 minutes de coupure du courant continu (DC) et courant alternatif (AC). Seulement le personnel technique professionnel est qualifié pour ces opérations.

Attention, risque de choc électrique, stockage à décharge temporisée
Un risque de choc électrique existe dû aux condensateurs ; le couvercle doit être retiré au moins 5 minutes après que toutes les alimentations ont été débranchées.

2.5.1 Ouvrir les disjoncteurs

Sectionnez les disjoncteurs AC et DC en commençant par l’AC et assurez-vous que l’AEH ne soit pas connectée par accident. Vérifiez que l’AEH est complètement hors tension et qu’elle ne présente plus de tension en utilisant un VAT. Même quand les disjoncteurs AC et DC sont débranchés, il reste de la tension dans certains composants comme dans les capacités. C’est pour cela que l’opération de réparation ou d’entretien doit uniquement être effectuée au moins 5 minutes après la coupure.

2.5.2 Entretien et modification

Seules les personnes avec l’autorisation de SIREA sont qualifiées pour effectuer l’entretien ou apporter des modifications à l’installation. Pour assurer la sécurité personnelle, utilisez uniquement les accessoires d’origine fournis par le fabricant. Le non-respect de ces mesures peut mener à la perte de la conformité avec les standards de sécurité et de CEM.

2.5.3 Paramètres de fonctionnement et de sécurité

Ne changez pas les paramètres de l’AEH sans avoir l’autorisation du propriétaire du produit et de SIREA. Cela pourrait entraîner des blessures ou des dommages matériels et la garantie sera annulée.

2.6 Onduleur CEM et niveau de bruit

La compatibilité électromagnétique (CEM) est l’exigence pour l’équipement électrique qu’il puisse fonctionner normalement dans l’environnement électromagnétique et ne provoque pas lui-même un impact environnemental inacceptable.

  • Propriété anti interférence des composants internes.
  • Propriété anti-interférence de l’extérieur.
  • Impact des émissions électromagnétiques sur l’environnement.

L’onduleur peut générer du bruit et des rayonnements électromagnétiques pendant le fonctionnement. Selon les émissions CEM et le niveau de bruit, l’AEH doit être utilisé dans des environnements industriels. Par conséquent, tout le personnel ne doit pas rester longtemps à proximité de l’AEH.

Attention
Selon les émissions CEM et le niveau de bruit, l’AEH doit être utilisé dans des environnements industriels. Par conséquent, le personnel ne doit pas rester à proximité de l’AEH sur de longs moments.

2.7 Notes importantes

Note 1 : L’électricité statique peut endommager l’AEH
Les décharges électrostatiques peuvent causer des dommages irréparables aux composants internes de l’AEH. Lors de l’utilisation de l’AEH, l’opérateur doit respecter les normes de protection antistatique.

Note 2 : Restriction
L’AEH ne peut pas être directement utilisée pour connecter l’équipement de survie et l’équipement médical.

Note 3 : Précautions
Assurez-vous que des outils d’installation ou d’autres éléments inutilisés ne soient pas laissés à l’intérieur de l’AEH avant la mise en service.

Note 4 : Maintenance
La maintenance ne peut être effectuée qu’une fois l’AEH totalement hors tension et déchargée.

3. Description du produit

3.1 Références concerncées

RéferenceNom du produit
2EN02-00700AEH 10
2EN02-00711AEH 20
2EN02-00300AEH 40
2EN02-00600AEH 60
2EN02-00712AEH 80
2EN02-00602AEH 100

3.2 Caractéristiques

3.2.1 Dimensions

AEH avec batteries Pylontech et SNAM
ProduitDimensions
AEH 10H210 x L60 x P80 cm
AEH 20H210 x L60 x P80 cm
AEH 40H210 x L120 x P80 cm
AEH 60H210 x L120 x P80 cm
AEH 80H210 x L180 x P80 cm
AEH 100H210 x L180 x P80 cm
AEH avec batteries BEEPLANET
ProduitCapacité de stockageDimensions
AEH 10Jusqu’à 40 kWhH215 x L60 x P80 cm
AEH 10Au-delà de 40 kWhH195 x L120 x P80 cm
AEH 20Jusqu’à 40 kWhH215 x L60 x P80 cm
AEH 20Au-delà de 40 kWhH195 x L120 x P80 cm
AEH 40Jusqu’à 80 kWhH195 x L120 x P80 cm
AEH 40Au-delà de 80 kWhH195 x L180 x P80 cm
Au-delàSelon projetSelon projet

3.2.2 Caractéristiques techniques communes

  • Plage de tension d’entrée MPPT : 180-960 V
  • Courange d’entrée maximal MPPT : 25 A par string
  • Tension nominale AC : 230 / 400 VAC
  • Efficacité MPPT : 97,70%
  • Rendement maximal batterie : 97,8%
  • Nombre de string par MPPT : 2
  • Indice de proctection : IP54

3.2.3 Caractéristiques techniques spécifiques

ProduitPuissance sortie ACNombre de MPPTEstimation poids (sans batterie)
AEH 1010 000 W2350 kg
AEH 2020 000 W 2350 kg
AEH 4040 000 W4450 kg
AEH 6060 000 W6550 kg
AEH 8080 000 W8590 kg
AEH 100100 000 W10640 kg

3.2.4 Caractéristiques techniques des batteries

Valeurs pour une batterieTension nominaleCapacité nominalePlage de température de fonctionnementPoids
Pylontech H4805048 V2,4 kWh0 – 50 °C24 kg
Pylontech
H48074
48 V3,55 kWh0 – 50 °C32 kg
Pylontech
H32148
32 V4,74 kWh0 – 50 °C48 kg
SNAM Phenix50 V3 – 3,5 kWh5 – 36 °C45 kg
BeePlanet65,7 V9,61 kWh20 – 40 °C39 kg

3.3 Système de stockage d’énergie

Les armoires AEH sont conçues pour assurer le stockage d’énergie et piloter le système photovoltaïque. Elles convertissent le courant continu généré par les modules PV en courant continu pour les batteries et en courant alternatif pour l’injection dans le réseau ou la charge locale. La batterie peut également alimenter la charge locale.

La structure d’un système de stockage d’énergie typique est illustrée ci-dessous :

capture decran du 2024 03 15 09 22 52
Structure système de stockage

3.4 Schéma électrique de l’armoire

Synoptique d’une armoire AEH (non contractuel) :

diagram aeh

3.5 Disposition des composants principaux

ZoneCommentaires
1Ventilateur
Pour extraction de la chaleur
2Armoire
Armoire IP54
3Arrêt d’urgence
En cas de problème
4Poignée
Poignée pour ouvrir la porte avec serrure et clé à double barre
5Grille de ventilation
Grille d’aspiration du ventilateur

3.6 Description des organes de coupure

Les composants de l’armoire sont nommés de la manière suivante :

  • de 00 à 09 : composants installés à l’extérieur (coffret déporté pour transducteur)
  • de 10 à 29 : composants pour la partie AC de sortie
    • 10 : QS général
    • 11-16 : onduleur
    • 17 : éclairage
    • 18 alimentation :
    • 19 : climatisation et prise
  • de 30 à 49 : composants pour la partie PV
  • de 50 à 69 : composants pour la partie batterie
  • de 70 à 89 : composants pour la partie AC sortie secourue
  • de 90 à 99 : rajout client

3.7 Modes de fonctionnement

Les modes de fonctionnement de l’AEH sont listés ci-dessous. Selon l’installation, le mode de fonctionnement peut différer.

Dans le mode connecté réseau (on-grid), l’AEH est connectée au réseau électrique du
distributeur d’électricité. Selon la marque de la batterie, le DOD (profondeur de décharge batterie) peut varier.

Si le SOC (état de charge de la batterie) est supérieur au seuil bas du DOD : L’AEH injecte de la puissance sur le réseau local pour réguler la puissance soutirée du réseau à 0W.

  • Si la production solaire est supérieure à la consommation, la production alimente la consommation et charge les batteries.
  • Si la production solaire est inférieure à la consommation, la production et la batterie alimentent la consommation.
  • Si la production solaire et la puissance de la batterie sont inférieures à la consommation, le réseau complétera la demande.
aeh soc superieur dod

Si le SOC est inférieur ou égal au seuil bas du DOD :

  • La consommation est alimentée par le réseau et la puissance photovoltaïque.
  • Si la production photovoltaïque est supérieure à la consommation, la production rechargera la batterie.

Il faut que la batterie soit rechargée de 10% au-dessus du seuil bas du DOD pour relancer la régulation.

aeh soc inferieur dod

3.8 Batterie

La batterie représente une partie importante du système de stockage d’énergie, une protection stricte est nécessaire dans l’ensemble du processus de fonctionnement.

Le seuil de protection doit être défini sur l’AEH pour assurer un fonctionnement sûr de la batterie.

Les paramètres comprennent entre autres :

  • la quantité de batteries et d’unités
  • la capacité
  • le courant de charge
  • le courant de décharge
  • la protection contre les surtensions
  • la protection contre les sous-tensions
danger

Attention, risque de danger
Un réglage incorrect des paramètres de la batterie peut mener à un fonctionnement anormal ou même à des dommages matériels. Le réglage de ces paramètres doit être effectué par du personnel qualifié

3.8.1 Batteries neuves

Batteries Pylontech : Plage de température de fonctionnement : 10 – 40 °C

En dehors de cette plage de température, la batterie risque de se couper pour des raisons de protection. Si l’armoire n’est pas connectée au réseau électrique, l’onduleur s’éteint.

3.8.2 Batteries recyclées

Batteries SNAM Phenix : Plage de température de fonctionnement : 5°C – 36°C

En dehors de cette plage de température, la batterie risque de se couper pour des raisons de protection. Si l’armoire n’est pas connectée au réseau électrique, l’onduleur s’éteint. Le bouton d’arrêt d’urgence (si présent) permet d’effectuer une coupure générale de la batterie. Pour relancer la batterie, il est nécessaire de désarmer le bouton d’arrêt d’urgence.

Batteries BeePlanet : Plage de température de fonctionnement : 20 – 40°C

En dehors de cette plage de température, la batterie risque de se couper pour des raisons de protection. Si l’armoire n’est pas connectée au réseau électrique, l’onduleur s’éteint. Le bouton d’arrêt d’urgence (si présent) permet d’effectuer une coupure générale de la batterie. Pour relancer la batterie, il est nécessaire de désarmer le bouton d’arrêt d’urgence.

3.9 Protection

3.9.1 Anti-îlotage

Lorsque le réseau électrique local est fermé en raison d’un dysfonctionnement ou d’une maintenance des équipements, l’AEH sera physiquement coupé du raccordement au réseau, afin de protéger le personnel d’exploitation travaillant sur le réseau électrique. L’armoire est donc conforme aux normes applicables.

3.9.2 Protection foudre

Le module de protection contre la foudre de l’armoire est doté d’une protection contre les surtensions côté DC/AC pour éviter un endommagement de l’AEH. Pour plus de fonctions de protection, veuillez vous référer à la section 6.3.

4. Installation du produit

4.1 Conditions d’installation requises

Pour assurer le fonctionnement normal de la machine, l’environnement d’installation est requis comme suit :

  • L’indice de protection d’AEH est IP54. De plus, ce produit étant un équipement électronique, il ne doit pas être placé dans un environnement humide ;
  • Installer a l’intérieur et éviter la lumière du soleil et la pluie ;
  • La ventilation de la pièce doit être bonne ;
  • L’environnement d’installation doit être propre ;
  • Étant donné qu’un certain bruit sera produit en fonctionnement, cet équipement devra être installé loin des quartiers résidentiels ;
  • Le sol d’installation doit être suffisamment régulier et ferme pour supporter le poids de l’armoire ;
  • La position d’installation doit être pratique pour l’entretien ;
  • La température ambiante doit être dans la plage préconisée

Il est suggeré que l’AEH soit installée dans la salle de distribution. Le sol, le dégagement mural, l’équipement de ventilation et les précautions doivent être conçus par un personnel professionnel et satisfaire les exigences suivantes.

4.1.1 Fondation

L’AEH doit être installé sur un sol plat avec un matériau ignifuge. L’affaissement ou l’inclinaison du sol est interdit. La fondation doit être solide, sûre et fiable. La fondation doit être capable de supporter la charge de l’AEH. Sa capacité de charge doit être prise en compte tout au long du choix du lieu d’installation.

4.1.2 Espace de dégagement

Les espaces de dégagement doivent être respectés comme indiqués dans le schéma suivant :

emplacement d’installation de l’aeh

4.1.3 Tranchée de câble

L’AEH adopte une entrée inférieure et une sortie inférieure pour connecter les câbles. Les tranchées de câbles sont recommandées.

Les tranchées de câbles sont souvent conçues et construites par la partie construction sur la base des normes pertinentes, le poids et les dimensions de l’équipement devant être pris en compte. Une bonne connexion électrique est nécessaire entre les différentes tranchées de câbles et la terre.

4.1.4 Spécification de câblage

Les câbles de l’AEH peuvent être classés en câbles d’alimentation et en câbles de
communications.

Pour le câblage, les câbles de puissance AC et DC doivent être séparés des câbles de communication. Respectez le rayon de courbure du câble. Le câble doit être aussi court que possible.

Afin de réduire l’interférence électromagnétique causée par un changement soudain de la tension de sortie, le câble d’alimentation et les câbles de communication doivent être placés dans des tranchées de câbles différentes. La distance entre les câbles doit être de plus de 0,1 m.

4.1.5 Exigence d’aération

En fonctionnement, l’AEH peut produire de la chaleur. Lorsque la température ambiante est trop élevée, la propriété électrique de l’équipement peut être affectée, l’équipement peut même être endommagé. Par conséquent, le dégagement de chaleur doit être pleinement pris en compte dans la conception du local pour assurer le fonctionnement de l’équipement à haut rendement.

4.1.6 Environnement de ventilation

Afin d’assurer le fonctionnement sûr et fiable de l’AEH, la température ambiante doit permettre à la batterie de rester dans sa plage de température de fonctionnement. Des températures trop élevées peuvent mener à un dysfonctionnement du système et à la dégradation rapide des batteries. Des dispositifs de ventilation appropriés doivent être installés pour évacuer la chaleur générée par l’armoire. Les mesures anti-poussière et anti-humidité sont à respecter.

4.1.7 Autres protections

Selon les exigences CEM et le niveau de bruit, l’AEH doit être installé dans un environnement industriel.

4.1.8 Protection feu

Dans le cas d’une armoire avec une capacité de stockage supérieure à 15kWh, il est exigé par la norme d’installer l’armoire dans un local coupe-feu (local batterie) avec les protections adaptées.

4.2 Outils nécessaires

  • Grue de levage, chariot élévateur (avec la capacité de supporter le poids de l’AEH)
  • Clé dynamométrique
  • Tournevis
  • Pince à dénuder
  • Machine à sertir les bornes
  • Multimètre

4.3 Transport de l’armoire emballée

Le transport doit suivre les méthodes de transport décrites dans le manuel d’utilisateur. Le poids et le centre de gravité de l’AEH doivent être prises en compte pour le transport. Le centre de gravité est indiqué sur le colis.

Note 1 : L’armoire ne peut être démontée ni lors du transport ni lors de l’utilisation. Tout défaut attribué à une modification non autorisée par SIREA est au-delà de l’assurance qualité et la garantie se verra annulée.

Note 2 : Les mouvements brusques d’inclinaison et les secousses violentes sur l’AEH doivent être scrupuleusement évités ainsi que toutes chutes lors du levage.

Note 3 : Veuillez lire attentivement les paramètres étiquetés pour sélectionner un moyen de transport et un lieu de stockage approprié. Nous suggérons d’utiliser un chariot élévateur pour déplacer l’armoire.

Attention, risque de danger
Pendant le transport, l’équipement de levage et le personnel doivent être qualifiés. L’AEH doit être placé verticalement et l’inclinaison ne peut pas être supérieure à 10 degrés. Il est interdit de placer l’AEH à l’envers ou de la transporter en position horizontale. Un levage et un transport incorrect peuvent entraîner des blessures graves, des pertes matérielles et des dommages à l’AEH.

Attention
Avant de déplacer l’AEH à l’endroit désigné, nous vous suggérons de tirer les câbles DC et AC. Comme les câbles sont relativement épais, ils sont difficiles à câbler après l’installation de l’AEH.

4.4 Installation électrique

Attention, risque de choc électrique
Il existe un risque de choc électrique de haute tension lors du fonctionnement de l’AEH. Seuls des électriciens possédant des compétences professionnelles peuvent intervenir. Toutes les connexions avec cet équipement doivent être effectuées hors tension. L’AEH peut être endommagé si la borne d’entrée ou de sortie est mal branchée. Le non-respect de ces informations peut entraîner des blessures corporelles graves, voire mortelles et des pertes matérielles importantes.

4.4.1 Exigences d’entrée et de sortie

Câble (Cu)Exigences section de câble (mm2)
Réseau Phase ARéférez-vous au tableau dans la section “Raccordement AC”
Réseau Phase BRéférez-vous au tableau dans la section “Raccordement AC”
Réseau Phase CRéférez-vous au tableau dans la section “Raccordement AC”
NeutreRéférez-vous au tableau dans la section “Raccordement AC”
TerreRéférez-vous au tableau dans la section “Raccordement AC”
Transducteur0,75 mm2, blindé, paire torsadé recommandé
EthernetCat. 5 ou plus est recommandé

Réseau triphasé
L’onduleur inspecte en permanence si le réseau satisfait aux conditions de connexion au réseau. Le tableau suivant indique la limite du réseau pour la satisfaction des conditions de connexion au réseau (Les exigences dans différents pays peuvent varier, la valeur peut être configurée. Veuillez-vous référer aux réglementations locales pour plus de détails.) L’autorisation du service d’alimentation électrique local est nécessaire avant d’installer l’alimentation inversée connectée au réseau.

LimiteCommentaire
Limite de tension réseau184 – 276 V
Limite de fréquence réseau (50 Hz)45 – 55Hz
Limite de fréquence réseau (60 Hz)55 – 65 Hz

4.4.2 Raccordement AC

Attention, risque de danger
Lors des manipulations sur cette partie de l’armoire, assurez-vous que les disjoncteurs sont coupés et que les fils ne présentent pas de tension aux bornes.

Réalisez les branchements hors tension. Les raccordements AC s’effectuent sur le bornier XP en bas de l’armoire.

raccordement ac aeh

Raccordement si l’AEH est raccordé au réseau :

FilBornier XP
NeutreBorne 1
Phase 1Borne 2
Phase 2Borne 3
Phase 3Borne 4
TerreBorne de terre

Raccordement de la charge (si version avec sortie secourue par batterie) :

FilBornier XP
NeutreBorne 5
Phase 1Borne 6
Phase 2Borne 7
Phase 3Borne 8
TerreBorne de terre

Section de raccordement :

Section minimaleLongueur de câble <= 30m30m <= Longueur de câble <= 100m
10 kW6 mm210 mm2
20 kW6 mm216 mm2
40 kW16 mm235 mm2
60 kW35 mm250 mm2
80 kW50 mm295 mm2
100 kW70 mm2120 mm2

Attention
Les informations sur les sections des câbles sont données à titre indicatif. Ce tableau ne remplace en aucun cas une étude de dimensionnement prenant en compte le type d’application.

4.4.3 Raccordement du transducteur de mesure

Selon le type de l’installation, le lieu d’installation du transducteur peut varier. Il peut être installé dans le TGBT ou dans l’armoire AEH.

Installation dans le TGBT

Dans le cas où le transducteur est installé dans le TGBT, le câblage est le suivant.

Les tores de mesure sont à installer dans le TGBT en amont de tous les disjoncteurs sur l’arrivée du réseau électrique. Il est important de respecter le sens des tores de mesure et l’ordre des fils. Deux types de tores peuvent être utilisés, des tores ouvrants ou non ouvrants. Il est important de suivre les indications suivantes en fonction du type de tores utilisés.

Branchement de l’alimentation AC
  • Phase 1 sur borne 2 du transducteur
  • Phase 2 sur borne 5 du transducteur
  • Phase 3 sur borne 8 du transducteur
  • Neutre sur borne 10 du transducteur
Branchement des tores non ouvrants sur le transducteur Chint DTSU 666

Pour mettre les tores dans le bon sens, il faut respecter le sens de la flèche dessinée à l’intérieur du tore. Elle doit être dirigée vers la consommation.

Phase 1 (si l’installation avec panneaux photovoltaïques) :

  • Fil rouge sur la borne 3 du transducteur
  • Fil noir sur la borne 1 du transducteur

Phase 2 (si l’installation avec panneaux photovoltaïques) :

  • Fil rouge sur la borne 6 du transducteur
  • Fil noir sur la borne 4 du transducteur

Phase 3 (si l’installation avec panneaux photovoltaïques) :

  • Fil rouge sur la borne 9 du transducteur
  • Fil noir sur la borne 7 du transducteur

Note : S’il s’agit d’une installation sans panneaux photovoltaïques sur l’onduleur, inverser rouge et noir des tores.

Raccordement de la communication avec l’armoire AEH
  • Relier borne 24 (A) du transducteur à la borne XTC1 de l’AEH
  • Relier borne 25 (B) du transducteur à la borne XTC2 de l’AEH
Installation dans l’armoire AEH

Dans le cas où le transducteur est installé dans l’armoire AEH, le câblage est le suivant.

Les tores de mesure sont à installer dans le TGBT en amont de tous les disjoncteurs sur l’arrivée du réseau électrique. Il est important de respecter le sens des tores de mesure et l’ordre des fils. Deux types de tores peuvent être utilisés, des tores ouvrants ou non ouvrants. Il est important de suivre les indications suivantes en fonction du type de tores utilisés.

Branchement des tores non ouvrants sur le transducteur Chint DTSU 666 dans l’AEH

Phase 1 (si l’installation avec panneaux photovoltaïques) :

  • S1 du tore sur la borne XTC1 dans l’armoire AEH
  • S2 du tore sur la borne XTC2 dans l’armoire AEH

Phase 2 (si l’installation avec panneaux photovoltaïques) :

  • S1 du tore sur la borne XTC3 dans l’armoire AEH
  • S2 du tore sur la borne XTC4 dans l’armoire AEH

Phase 4 (si l’installation avec panneaux photovoltaïques) :

  • S1 du tore sur la borne XTC5 dans l’armoire AEH
  • S2 du tore sur la borne XTC6 dans l’armoire AEH

Note : S’il s’agit d’une installation sans panneaux photovoltaïques sur l’onduleur, inverser S1et S2 des tores.

Branchement des tores ouvrants sur le transducteur Chint DTSU 666 dans l’AEH

Pour mettre les tores dans le bon sens il faut respecter le sens de la flèche dessinée àl’intérieur du tore. Elle doit être dirigée vers la consommation.

Phase 1 (si l’installation avec panneaux photovoltaïques) :

  • Fil rouge du tore sur la borne XTC1 dans l’armoire AEH
  • Fil noir du tore sur la borne XTC2 dans l’armoire AEH

Phase 2 (si l’installation avec panneaux photovoltaïques) :

  • Fil rouge du tore sur la borne XTC3 dans l’armoire AEH
  • Fil noir du tore sur la borne XTC4 dans l’armoire AEH

Phase 3 (si l’installation avec panneaux photovoltaïques) :

  • Fil rouge du tore sur la borne XTC5 dans l’armoire AEH
  • Fil noir du tore sur la borne XTC6 dans l’armoire AEH

Note : S’il s’agit d’une installation sans panneaux photovoltaïques sur l’onduleur, inverserrouge et noir des tores.

Paramétrage du transducteur

  • Appuyer sur “SET”
  • “Code” apparaît sur l’écran
  • Réappuyez sur “SET” pour entrer le code
  • Entrez le code 701
  • Appuyez sur le bouton “flèche” pour augmenter la valeur du chiffre
  • Appuyez sur “SET” pour aller sur le numéro suivant
  • Une fois le numéro 701 entré, appuyez sur “SET” jusqu’à ce que “Ct” apparaisse
  • Lorsque “Ct” apparaît, appuyez sur “flèche”
  • Choisir la valeur adéquate (contacter le bureau d’étude pour la connaître)
  • Cliquez sur le bouton “ESC” pour sauvegarder et retourner dans le mode normal
Vérification du fonctionnement

Pour vérifier le fonctionnement, coupez toute source d’injection de courant sur le tableau électrique. Appuyez sur le bouton flèche pour faire défiler les informations :

UA, UB, UC indiquent les tensions respectives des phases 1, 2, 3 : elles doivent avoir une valeur proche de 230 V.

PT indique la puissance totale mesurée par les tores. La valeur doit être négative quand le bâtiment consomme.

4.4.4 Mise à la terre

L’armoire doit être correctement mise à la terre pour assurer la sécurité. Vérifiez la bonne connexion entre le PE du distributeur de puissance et l’AEH. Assurez-vous que la section du câble de terre est adaptée. La mise à la terre doit satisfaire les standards IEC.

4.4.5 Raccordement DC côté modules PV

Attention, risque de danger
Lors des manipulations sur cette partie de l’armoire, assurez-vous que les disjoncteurs sont coupés et que les fils ne présentent pas de tension aux bornes.

Attention, risque de danger
Lors des manipulations sur cette partie de l’armoire, assurez-vous que les disjoncteurs sont coupés et que les fils ne présentent pas de tension aux bornes.

Selon l’installation, le nombre de string PV peut varier. La connexion des champs photovoltaïques se fait dans l’armoire avec des connecteurs de type MC4.

Le code couleur dans l’AEH est le suivant :

  • Rouge – borne positive (+)
  • Noir – borne négative (-)

L’installateur doit donc avoir des connecteurs MC4 mâle et femelle et une pince à sertir adaptée. Les câbles venants des champs PV sont à connecter dans le respect des polarités : borne positive sur le câble rouge de l’armoire et la borne négative sur le câble noir.

Les procédures spécifiques sont les suivantes :

  • Déterminez les pôles positifs et négatifs avec un multimètre
  • Connectez le positif du PV au câble rouge
  • Connectez le négatif du PV au câble noir
  • Connectez le champ photovoltaïque afin de vérifier les polarités : rouge positif et noir négatif

4.4.6 Raccordement des batteries

Attention, risque d’incendie et d’explosion
Lors de l’installation des batteries, il est obligatoire de suivre les instructions données dans ce manuel de manière rigoureuse pour éviter des dommages. Les batteries lithium risquent un emballement thermique ou une explosion lors de la mauvaise manipulation ou en cas de court-circuit.

4.4.6.1 Batteries Pylontech

A la livraison de l’AEH, le master BMS (MBMS) est déjà présent dans l’armoire. La position des batteries dans la chaîne n’a pas d’importance.

Branchement des câbles de puissance

Une fois les batteries mises en place, les câbles de puissance sont à brancher.

En partant de la batterie du bas :

  1. Branchez un des câbles orange de 30 cm sur la borne orange (positive).
  2. Branchez l’autre côté du câble sur la borne noire (négative) de la batterie au-dessus.
  3. Répétez l’opération jusqu’à atteindre la batterie du haut.
  4. Connectez le câble de 30 cm avec les deux connecteurs orange entre la borne orange
    de la dernière batterie (B+) et la borne orange du MBMS (B+).
  5. Connecter le câble noir de 2 m entre la borne noire de la batterie du bas et la borne
    noire (B-) du MBMS.

Attention
Veuillez bien vérifier la polarité des batteries avant de brancher le dernier câble et de fermer le circuit. Un court-circuit peut provoquer un emballement thermique ou une explosion des batteries.

Branchement des câbles de communication

Du haut vers le bas :

  1. Branchez le câble RJ45 sur la prise “Link Port” du MBMS et sur la prise “Link Port 0”
    de la batterie en dessous.
  2. Branchez un câble RJ45 entre la prise “Link Port 1” et la prise “Link Port 0” de la batterie en dessous.
  3. Répétez l’opération jusqu’à la batterie du bas.
  4. La dernière batterie n’a pas de câble branché sur le “Link Port 1”
  5. Sur le MBMS, le câble RJ45 “Onduleur 2” doit être branché sur la prise marquée “CAN link port B”
  6. Sur le MBMS, le câble RJ45 “mARM” doit être branché sur la prise marquée “RS485
    Link B”

Mise sous tension de la batterie

mise sous tension batterie pylontech

Pour effectuer la mise sous tension des batteries :

  1. Enclenchez le disjoncteur bleu du MBMS (1)
  2. Appuyez sur le bouton rouge (2) quelques secondes jusqu’à entendre un signal sonore.
  3. Tous les voyants doivent s’allumer en vert.

Montage final :

montage final mbms pylontech
4.4.6.2 Batteries SNAM PHENIX

À la livraison, le master BMS (MBMS) est déjà placé dans l’armoire. La position des batteries dans la chaîne n’a pas d’importance.

Branchement des câbles

snam phenix branchement cables
snam phenix branchement cables complet

Une fois les batteries mises en place, branchez les câbles de puissance et de communication comme indiqué sur les images. Les traits rouges représentent les câbles de puissance, les traits verts représentent les câbles de communication.

Connexion du master BMS

  • Connectez la borne noire du MBMS à la borne noire de la batterie située en dessous.
  • Connectez la borne rouge du MBMS à la borne rouge de la dernière batterie de la chaîne (en haut à gauche sur l’image).
  • Le MBMS doit avoir sa borne noire connectée à la première batterie de la chaîne et sa borne rouge à la dernière batterie de la chaîne

Vérifiez la tension DC aux bornes du disjoncteur QF30

Attention
Si votre installation est OFF-GRID dès que les câbles de puissances sont connectés au BMS le disjoncteur QF30 à une tension supérieure à 200V à ses bornes (les manchons orange signifient qu’il y a de la tension même lorsque l’installation est hors tension).

4.4.6.3 Batteries BEEPLANET

A la livraison, le master BMS (MBMS) est déjà placé dans l’armoire. Veuillez faire attention à ne pas mélanger les batteries entre les chaînes, ceci peut mener à des pertes de performance dues aux différents états de charge entre les chaînes. Trouvez le numéro du string sur les étiquettes de chaque batterie pour le montage dans la bonne chaîne (Numéro de la chaîne “N” dans le numéro de série sous forme de XXXX-X-NXX).

Branchement des câbles de puissance

Une fois les batteries mises en place dans la chaîne correspondante, branchez les câbles comme indiqué par la suite.

  1. Prendre les câbles de puissance avec le connecteur rouge d’un côté et le noir de l’autre côté.
  2. Commencez avec la dernière batterie de la chaîne et branchez le connecteur noir sur
    la borne noire. Branchez le connecteur rouge sur la borne rouge de la batterie au-dessus.
  3. Répétez cette opération jusqu’à atteindre la première batterie en haut.
  4. Prendre le câble avec les deux connecteurs noirs et le brancher entre la borne noire de la première batterie et la borne noire du MBMS côté “BATTERY”.
  5. Pour fermer la chaîne des batteries, brancher le long câble avec les connecteurs rouges des deux côtés entre la borne rouge du MBMS côté “BATTERY” et la prise rouge de la dernière batterie de la chaîne.

Branchement des câbles de communication

Pour brancher les câbles de communication, procéder comme indiqué par la suite :

  1. Commencer au MBMS et connecter le premier RJ45 sur la borne “SPI1” puis le relier à la borne “SPI2” de la première batterie.
  2. Relier le prochain câble RJ45 entre le “SPI1” de la première batterie et le “SPI2” de la prochaine batterie.
  3. Répéter ce processus jusqu’à la dernière batterie. Elle n’aura pas de câble sur la prise “SPI2”

Une fois tous les câbles branchés, le montage doit ressembler à la photo suivante :

rack batteries beeplanet

4.4.7 Raccordement des communications

Raccordement transducteur de mesure

Afin de raccorder le transducteur de mesure (s’il est déporté dans le TGBT), branchez le câble de communication RS485 (0.75mm² blindé) entre le transducteur et les bornes XTC en bas de l’armoire.

Raccordement au réseau internet

Afin de raccorder l’AEH à internet, il est nécessaire d’amener un câble RJ45 de Cat. 5 ou supérieure à l’intérieur de l’armoire et de le connecter en bas sur la prise RJ45.

5. Utilisation du produit

5.1 Procédure de démarrage et arrêt

5.1.1 Procédure de démarrage

Premier démarrage :

Vérifiez que le bouton d’arrêt d’urgence (si présent) est désarmé.

  1. Enclenchez tous les disjoncteurs → Le voyant “sous tension” s’allume
  2. Démarrez les batteries (voir en fonction des batteries)
  3. Vérifiez que le voyant défaut est éteint

5.1.2 Procédure d’arrêt

  1. Coupez les disjoncteurs AC si l’armoire est connectée au réseau de distribution
  2. Coupez les disjoncteurs DC PV et batterie
  3. Coupez le disjoncteur QF30 (si présent)

Attention, risque de choc électrique, stockage à décharge temporisée
Un risque de choc électrique existe dû aux condensateurs ; le couvercle doit être retiré au moins 5 minutes après que toutes les alimentations ont été débranchées.

Attention, risque de danger
En cas de manipulation des disjoncteurs dans l’armoire, veuillez respecter les consignes de sécurité. Le non-respect de ces consignes peut entraîner des blessures graves.

5.2 Interface graphique

5.2.1 Présentation de l’IHM

Écran en façade de l’armoire (si présent) :

L’utilisateur peut afficher les informations sur le fonctionnement de l’armoire.

Après la mise sous tension, l’écran LCD affiche la page d’accueil après environ 15 secondes.

Sur cet écran, il est possible de visualiser les informations de base.

A la première mise sous tension de l’écran, il est possible que vous deviez configurer l’écran tactile en appuyant un à un sur les 4 boutons carrés qui apparaissent sur l’écran. Ceci permet de calibrer la dalle tactile de l’écran.

Ci-dessous, une description d’un exemple d’informations pouvant apparaître sur le système.

Synoptique du tableau de bord de l'interface
Synoptique du tableau de bord de l’interface de l’AEH

L’écran affiche les puissances produites par le PV, soutirées ou injectées au réseau, chargées ou déchargées du stockage et la puissance consommée.

L’état de charge de la batterie est exprimé en % de 20 % à 100 %. Selon l’installation, il peut y avoir un bouton « Forçage groupe ». Celui-ci permet en appuyant dessus de démarrer le groupe électrogène ou bien de se connecter au réseau pour recharger les batteries.

forcage groupe off

Selon l’installation, en appuyant sur l’image au centre de l’écran, les détails suivants seront affichés : la tension ACin, la puissance par phase, l’adresse IP de l’armoire et la puissance PV par string.

aeh interface details

5.2.2 Historique

En cliquant sur le bouton « Graphique » en bas à droite sur la page principale, les données historiques sont visualisables.

Remarque : Pour revenir sur la page d’accueil, il suffit de cliquer sur le bouton d’accueil dans le coin inférieur gauche de l’écran.

Sur les graphiques, les données historiques de l’armoire (réseau, groupe électrogène si présent, consommation photovoltaïque et charge) sont affichées.

AEH GUI Power chart
Courbes des charges de l’interface de l’AEH

Il est possible de sélectionner l’affichage de la plage horaire avec les boutons en bas de l’écran. La plage par défaut est d’une heure.

En appuyant sur la flèche en bas à droite, les informations relatives à la batterie seront affichées. En vert l’état de charge SOC et en orange l’état de santé SOH de la batterie.

AEH GUI Batteries chart
Graphique des batteries de l’interface de l’AEH

5.2.3 Alarmes

Si une alarme apparaît, une sonnerie retentit et une cloche s’affiche dans le coin
supérieur gauche de la page d’accueil. Après avoir cliqué sur la cloche, les alarmes
en cours sont affichées.

AEH GUI Alarm logs
Historique des alarmes sur l’interface de l’AEH

Liste des alarmes possibles :

Selon l’installation les défauts peuvent varier

Numéro de défautNom de défaut
1Alarm_Onduleur_3PH défaut (communication modbus)
2Alarm_Onduleur_3PH2 défaut (communication modbus avec onduleur 2)
3Alarm_BMS_A16 (communication modbus)
4Alarm_BMS_A16bis (communication modbus avec A16bis)
5Défaut PV (24h sans PV)
6CAN_A16_BMS (communication CAN entre MBMS et A16)
7CAN_A16_BMS_A16bis (communication CAN entre MBMS2 et A16bis)
8Low battery voltage
9SOH batteries low
10Fusion_Fusible
11Défaut_Com_Serveur
12AC_Out_Coupe (SOC <= 20%)
13DefautSofarFault1
14DefautSofarFault2
15DefautSofarFault3
16DefautSofarFault4
17DefautSofarFault5
18DefautSofarFault6
19DefautSofarFault7
20DefautSofarFault8
21DefautSofarFault9
22DefautSofarFault10
23DefautBMSwFaultAutomateSyst
24DefautBMSwFaultBmsSyst
25DefautBMSFault0_7
26DefautBMSFault8_15
27DefautBMSFault16_23
28DefautBMSFault24_31
29DefautBMSFault32_35
30Défaut parafoudre

Attention
Dans le cas où un défaut numéro 13 ou supérieur est présent sur l’AEH, contactez Sirea pour une analyse après une extinction totale du système.

6. Entretien du produit

6.1 Maintenance régulière

Afin d’assurer le fonctionnement normal de l’AEH, des travaux de maintenance réguliers sont nécessaires (tableau ci-dessous).

ActionFréquence
Nettoyage ou remplacement du filtre anti-poussière6 mois
Vérification de la poussière, de l’humidité ou de la condensation à l’intérieur de l’armoireTous les mois
Vérification des connexions des câbles et resserrage des vis si nécessaireTous les mois
Vérification de l’étiquette d’avertissement. En ajouter ou en remplacer si nécessaire.Tous les mois
Contrôles manuels des disjoncteurs AC et DC.Tous les mois
Vérification de la présence d’un son anormal avec l’AEH en fonctionnement.Toutes les mois

Attention, risque de danger
Toutes les opérations de maintenance doivent être effectuées à condition que les côtés DC et AC de l’AEH, du module PV et de l’interrupteur de l’armoire de distribution AC soient tous ouverts. L’entretien ne doit être effectué qu’après avoir sectionné le courant alternatif et le courant continu pendant au moins 5 minutes, afin d’éviter un choc électrique.

6.2 Traitement des déchets

L’AEH ne causera pas de pollution environnementale, car tous les composants répondent aux exigences de protection de l’environnement. Conformément aux exigences de protection de l’environnement, l’utilisateur doit éliminer l’AEH conformément aux lois et réglementations en vigueur.

7. Annexes

Fiche de consigne de sécurité

fiche consigne securité aeh