• Aucun résultat trouvé

Utilisation de la bibliothèque Modb_l05

N/A
N/A
Protected

Academic year: 2022

Partager "Utilisation de la bibliothèque Modb_l05 "

Copied!
20
0
0

Texte intégral

(1)

Utilisation de la bibliothèque Modb_l05

Note d’application

a49150m, Français Version 1.5.0

05/09/2007

(2)

ii • General

Copyright  2001 by WAGO Kontakttechnik GmbH Tous droits réservés.

WAGO Kontakttechnik GmbH Hansastraße 27

D-32423 Minden

Phone: +49 (0) 571/8 87 – 0 Fax: +49 (0) 571/8 87 – 1 69 E-Mail: info@wago.com

Web: http://www.wago.com Technical Support

Phone: +49 (0) 571/8 87 – 5 55 Fax: +49 (0) 571/8 87 – 4 30 E-Mail: support@wago.com

WAGO Contact SA Paris Nord 2

BP 50 065

95947 Roissy-Ch.-de-Gaulle Cedex Tel. : +33 (0) 1 48 17 25 90 Fax : +33 (0) 1 48 63 25 20 E-Mail : info-fr@wago.com Web: http://www.wago.com Support technique

Tel. : +33 (0) 1 48 17 25 90 Fax : +33 (0) 1 48 17 25 92 E-Mail : support.fr@wago.com

Toutes les mesures imaginables ont été prises pour garantir l'exactitude et la complétude de la présente documentation. Comme il est impossible, malgré un travail consciencieux, d'éviter toutes les erreurs, nous recevrons avec gratitude vos remarques et suggestions.

Nous attirons votre attention sur le fait que dans ce manuel, les désignations de logiciels et de matériels et plus généralement les noms de marques des en- treprises concernées sont soumis à une protection des marchandises, à une protection des marques ou à une protection liée aux droits de brevet.

Note d’application

a49150m

(3)

Sommaire • iii

SOMMAIRE

1 Informations importantes ... 2

1.1 Bases juridiques ... 2

1.1.1 Protection des droits d’auteur... 2

1.1.2 Qualification du personnel... 2

1.1.3 Utilisation dans le cadre prévu ... 2

1.2 Domaine de validité ... 3

1.3 Symboles... 3

2 Pré requis... 4

2.1 Communication série RS232 ... 4

2.2 Communication série RS485 ... 5

3 Description de la bibliothèque ... 6

4 Gestion de flux d’une communication série ... 11

4.1 Gestion de flux pour une communication série RS232 ... 11

4.2 Gestion de flux pour une communication série RS485 ... 12

5 Projets d’exemple... 13

6 Annexes ... 14

6.1 Valeurs des paramètres d’entrée ... 14

6.2 Valeurs des paramètres d’entrée/sortie... 15

6.3 Valeurs des paramètres de sortie ... 15

7 En cas de problème ... 16

(4)

2 • Informations importantes

1 Informations importantes

Pour assurer à l'utilisateur une installation et une mise en service rapides des appareils décrits dans ce manuel, il est nécessaire de lire et de respecter scru- puleusement les informations et les explications suivantes.

1.1 Bases juridiques

1.1.1 Protection des droits d’auteur

Ce manuel, y compris toutes les illustrations qui s'y trouvent, est protégé par la législation sur les droits d'auteur. Toute autre utilisation de ce manuel s'écar- tant de la réglementation concernant les droits d'auteur est interdite. Sa repro- duction, sa traduction dans une autre langue, de même que son archivage et modification électronique et phototechnique nécessitent une autorisation ex- presse écrite de WAGO Kontakttechnik GmbH, Minden. Toute infraction fera l’objet d’une demande de dommages et intérêts.

WAGO Kontakttechnik GmbH se réserve le droit d’effectuer des modifica- tions autorisées par le progrès technique. Dans le cas d’établissement d’un brevet ou d’une protection légale des brevets, tous les droits sont réservés par WAGO Kontakttechnik GmbH. Les produits d’autres fabricants sont toujours nommés sans faire référence aux droits de propriétés industrielles.

L’existence de tels droits ne peut donc être ignorée.

1.1.2 Qualification du personnel

L'utilisation des produits telle qu'elle est décrite dans ce manuel s'adresse ex- clusivement à des personnes possédant une formation dans la programmation d'un API, à des personnes formées en électricité ou à des personnes placées sous la responsabilité de personnes formées en électricité, et qui de plus sont familiarisées avec les normes en vigueur. WAGO Kontakttechnik GmbH dé- cline toute responsabilité pour des mauvaises manipulations ou des dommages causés sur des produits WAGO ou des produits tiers, dus au non-respect des informations contenues dans ce manuel.

1.1.3 Utilisation dans le cadre prévu

Les composants sont livrés depuis l'usine pour chacun des cas d'application avec une configuration fixe, matérielle et logicielle. Les modifications ne sont permises que dans le cadre des possibilités contenues dans les manuels. Toute autre modification sur les matériels et logiciels, de même qu'une utilisation non conforme à la réglementation entraîne l'exclusion de la responsabilité de la société WAGO Kontakttechnik GmbH.

Veuillez vous adresser directement à la société WAGO Kontakttechnik GmbH pour toute demande de modification, voire de nouvelle configuration.

Note d’application

a49150m

(5)

Informations importantes • 3

1.2 Domaine de validité

Cette note d’application est basée sur des versions logicielles et matérielles spécifiques, ainsi que sur la documentation s’y référant. La validité de cette note d’application est donc limitée à l’installation décrite. De nouvelles ver- sions logicielles et matérielles pourraient donner lieu à des manipulations dif- férentes.

Veuillez respecter les descriptions détaillées dans les manuels respectifs.

1.3 Symboles

Danger

Respecter impérativement ces informations afin de préserver toute personne d’un éventuel dommage

Avertissement

Respecter impérativement ces informations afin de préserver l’appareil de tout dommage matériel

Attention

Respecter impérativement les conditions additionnelles permettant d’assurer un fonctionnement sans erreur

ESD (Electrostatic Discharge – Décharge électrostatique)

Attention aux composants sensibles aux décharges électrostatiques. Respecter les mesures de précaution pour le maniement des composants à risques.

Remarque

Procédures ou conseils pour une utilisation efficace de l’appareil et pour une optimisation logicielle

i

Informations complémentaires

Renvoi à des références de littérature supplémentaires, manuels, fiches tech- niques, et pages INTERNET

(6)

4 • Pré requis

2 Pré requis

Afin de mettre en place une communication Modbus Maître à travers une borne série programmable, certains paramètres doivent être ajustés sous Wa- go-I/O-Check 2. Qu’il s’agisse d’une communication série RS232 ou RS485, il est nécessaire de modifier le paramètre Data Bytes (par défaut à 3) ainsi que le paramètre Continuous Send (par défaut à OFF).

2.1 Communication série RS232

- Positionner le paramètre Data bytes à 5. De ce fait, la borne série utilisera non plus 3 mais 5 octets pour l’établissement de la communication série.

Tout ceci dans le but de fluidifier les différents échanges.

D’autre part, la modification de ce paramètre entraîne le changement du format de sortie (par défaut en Alternative) en Standard.

- Modifier le paramètre Continuous Send à ON. Ceci est préconisé pour les équipements sensibles aux silences inter caractères afin d’éviter les er- reurs de TimeOut.

Note d’application

a49150m

(7)

Pré requis • 5

2.2 Communication série RS485

- Positionner le paramètre Data bytes à 5. De ce fait, la borne série utilisera non plus 3 mais 5 octets pour l’établissement de la communication série.

Tout ceci dans le but de fluidifier les différents échanges.

D’autre part, la modification de ce paramètre entraîne le changement du format de sortie (par défaut en Alternative) en Standard.

Attention

Dans le cas d’une communication en 2 fils, modifier le paramètre Duplex Mode à Halfduplex.

- Modifier le paramètre Continuous Send à ON. Ceci est préconisé pour les équipements sensibles aux silences inter caractères afin d’éviter les er- reurs de TimeOut.

(8)

6 • Description de la bibliothèque

3 Description de la bibliothèque

La bibliothèque Modb_l05.lib contient deux blocs fonctionnels :

- MODBUSMASTER_RTU : bloc fonctionnel qui permet de gérer une borne d’interface série en tant que maître Modbus RTU.

- MODBUSSLAVE_RTU : bloc fonctionnel qui permet de gérer une borne d’interface série en tant qu’esclave Modbus RTU.

Elle permet en outre la configuration automatique de la borne d’interface sé- rie.

MODBUSMASTER_RTU

WAGO-I/O-SYSTEM – Eléments de bibliothèque

Catégorie : Communication série Nom : MODBUSMASTER_RTU

Type : Fonction Bloc fonctionnel X Programme Nom de la bibliothèque : Modb_l05

Bibliothèques requises Mod_com

Serial_Interface_01 SerComm

Utilisable sur : Contrôleurs 750-8xx (sauf 750-812/814/815/816)

Paramètres d’entrée (VAR_INPUT)

Type de variable

Description

bCOM_PORT BYTE Numéro de port de l’interface série à utiliser. (cf annexes)

cbCOM_BAUDRATE COM_BAUDRATE Vitesse de communication.

(cf annexes) cpCOM_PARITY COM_PARITY Parité. (cf annexes) csCOM_STOPBITS COM_STOPBITS Bits de stop. (cf annexes) cbsCOM_BYTESIZE COM_BYTESIZE Bits de données. (cf annexes) cfCOM_FLOW_CONTROL COM_FLOW_

CONTROL Contrôle du flux de la communication.

(cf annexes)

TimeOut TIME Temps maximal entre l’émission de la requête et la réception de la réponse.

Attention : L’utilisation des paramètres par défaut pour les bornes configurables (par exemple BAUDRATE_TERMINAL_DEFAULT,

BYTESIZE_TERMINAL_DEFAULT…) implique que les valeurs des différentes va- riables d’entrées seront celles configurées avec le logiciel WAGO-IO-Check2.

Pour les bornes non paramétrables, l’utilisation de ces paramètres par défaut est obligatoire.

a49150m

Note d’application

(9)

Description de la bibliothèque • 7

Paramètre de sortie (VAR_OUTPUT)

Type de variable

Description

MB_Error enumMB

_ERROR Code d’erreur retourné par le bloc fonctionnel. (cf annexes)

Paramètres d’entrée/sortie (VAR_IN_OUT)

Type de

variable Description

StartFunction BOOL A TRUE, cette variable est à l’initiative de la requête Modbus. La variable est réinitialisée à FALSE lorsqu’une ré- ponse a été reçue ou lorsque le temps de TimeOut est écoulé.

Query typModbusQuery Composante de la trame d’émission.

Structure composée de:

- L’adresse de l’esclave.

- Le code fonction.

- l’adresse de début de lecture ou d’écriture.

- La quantité de données à lire ou à écrire.

- Un tableau de 125 mots contenant les données du buffer d’émission du bloc fonctionnel.

(cf annexes) Response typModbusRes-

ponse Composante de la trame de récep- tion.

Structure composée de :

- L’erreur retournée par l’esclave.

- L’adresse de l’esclave.

- Le code fonction.

- L’adresse de début de lecture ou d’écriture.

- La quantité de données à lire ou à écrire.

- Un tableau de 125 mots contenant les données du buffer de réception du bloc fonctionnel.

(cf annexes)

(10)

8 • Description de la bibliothèque

Représentation graphique :

Fonctionnalité :

Le bloc fonctionnel MODBUSMASTER_RTU permet de gérer une borne d’interface série en Modbus Maître. L’appel à ce bloc doit se faire à chaque cycle afin de garan- tir la communication.

Ce bloc fonctionnel supporte les codes fonctions suivants : 0x01 Read Coil Status (Lecture de n bits)

0x02 Read Input Status (Lecture de n bits interne) 0x03 Read Holding Registers (Lecture de n mots) 0x04 Read Input Registers (Lecture de n mots interne) 0x05 Force Single Coil (Ecriture d’un bit)

0x06 Preset Single Registers (Ecriture d’un mot)

0x0B Fetch Comm Event Ctr (Lecture compteur d’événement) 0x0F Force Multiple Coils (Ecriture de n bits)

0x10 Preset Multiple Registers (Ecriture de n mots)

Note d’application

a49150m

(11)

Description de la bibliothèque • 9

MODBUSSLAVE_RTU (Bloc fonctionnel non supporté par certains contrôleurs)

WAGO-I/O-SYSTEM – Eléments de bibliothèque

Catégorie : Communication série Nom : MODBUSSLAVE_RTU

Type : Fonction Bloc fonctionnel X Programme Nom de la bibliothèque : Modb_l05

Bibliothèques requises Mod_com

Serial_Interface_01 SerComm

Utilisable sur : Contrôleurs 750-8xx (sauf 750-812/814/815/816/841 et 758-xxx)

Paramètres d’entrée (VAR_INPUT)

Type de variable

Description

SlaveAddress BYTE Adresse de l’esclave avec lequel sera établie la communication.

TimeOut TIME Temps maximal entre l’émission de la requête et la réception de la réponse.

bCOM_PORT BYTE Numéro de port de l’interface série à utiliser. (cf annexes)

cbCOM_BAUDRATE COM_BAUDRATE Vitesse de communication.

(cf annexes) cpCOM_PARITY COM_PARITY Parité. (cf annexes) csCOM_STOPBITS COM_STOPBITS Bits de stop. (cf annexes) cbsCOM_BYTESIZE COM_BYTESIZE Bits de données. (cf annexes) cfCOM_FLOW_CONTROL COM_FLOW_

CONTROL Contrôle du flux de la communica- tion. (cf annexes)

tWATCHDOG_TIME TIME Temps maximal entre les différents messages envoyés par le maître.

xMODBUS_81X_MODE BOOL A FALSE, relecture possible de l’état des sorties à partir de l’adresse 0.

Fonction compatible avec le Code fonction 01.

Attention : L’utilisation des paramètres par défaut pour les bornes configurables (par exemple BAUDRATE_TERMINAL_DEFAULT,

BYTESIZE_TERMINAL_DEFAULT…) implique que les valeurs des différentes va- riables d’entrées seront celles configurées avec le logiciel WAGO-IO-Check2.

Pour les bornes non paramétrables, l’utilisation de ces paramètres par défaut est obligatoire.

(12)

10 • Description de la bibliothèque

Paramètre de sortie (VAR_OUTPUT)

Type de variable

Description

xWATCHDOG_OK BOOL Booléen à TRUE quand le premier message provenant du maître a été reçu.

Error BYTE Code d’erreur retourné par le bloc fonctionnel

0x00 : Pas d’erreur

0x01 : Code fonction illégal

0x02 : Adresse des données illégale 0x03 : Valeur des données illégale Représentation graphique :

Fonctionnalité :

Le bloc fonctionnel MODBUSSLAVE_RTU permet de gérer une borne d’interface série en Modbus Esclave. L’appel à ce bloc doit se faire à chaque cycle afin de ga- rantir la communication.

Ce bloc fonctionnel supporte les codes fonctions suivants : 0x01 Read Coil Status (Lecture de n bits)

0x02 Read Input Status (Lecture de n bits interne) 0x03 Read Holding Registers (Lecture de n mots) 0x04 Read Input Registers (Lecture de n mots interne) 0x05 Force Single Coil (Ecriture d’un bit)

0x06 Preset Single Registers (Ecriture d’un mot)

0x0B Fetch Comm Event Ctr (Lecture compteur d’événement) 0x0F Force Multiple Coils (Ecriture de n bits)

0x10 Preset Multiple Registers (Ecriture de n mots)

Note d’application

a49150m

(13)

Gestion de flux d’une communication série • 11

4 Gestion de flux d’une communication série

La communication série est une communication bidirectionnelle qui per- met l’échange d’informations entre deux équipements : émetteur et récepteur.

Afin de pouvoir gérer au mieux les informations nécessaires, il apparaît par- fois essentiel de réguler le flux des données émis et reçus.

Les caractéristiques de la régulation seront spécifiées soit à travers le logi- ciel Wago-I/O-Check 2 soit à travers le bloc fonctionnel ModbusMaster.

A savoir que l’appel du bloc fonctionnel avec les paramètres requis a pour incidence une reconfiguration de la borne et de ce fait une modification des paramètres sous Wago-I/O-Check 2.

4.1 Gestion de flux pour une communication série RS232

Le protocole série RS232 met à notre disposition deux possibilités afin de gérer le flux des données:

- soit une gestion de flux matériel

- soit une gestion de flux logiciel

La gestion matérielle du flux se fait grâce aux deux signaux RTS (Request To

Send) et CTS (Clear To Send).

La gestion logicielle quant a elle fait intervenir deux caractères XOFF, carac- tère de code décimal 17 et XON, caractère de code décimal 19.

Lors de l’utilisation du bloc fonctionnel, le contrôle du flux des données se fera à travers le paramètre COM_FLOW_CONTROL (cf. annexes).

Trois possibilités pour une communication série RS232 :

- NO_FLOW_CONTROL : Les données sont échangées librement sans in- tervention de signaux contrôleurs. Lorsque l’appel du bloc fonctionnel est fait avec ce paramètre, la borne série est alors reconfigurée. Le paramètre RTS/CTS, par défaut actif, est alors désactivé.

- RTS_CTS : les informations échangées sont régulées grâce aux deux si- gnaux RTS et CTS. Deux possibilités pour activer cette option. Soit en spécifiant le paramètre au bloc fonctionnel soit en activant l’option RTS/CTS sous Wago-I/O-Check 2.

- XON_XOFF : Ce contrôle de flux est de manière générale à prohiber. En effet, si les trames Modbus envoyées et reçues contiennent les deux carac- tères cités précédemment, la gestion se fera alors de manière aléatoire.

(14)

12 • Gestion de flux d’une communication série

Remarque

Lorsque les paramètres de contrôle de flux ont été spécifiés avec Wago-I/O- Check 2, il est nécessaire pour la prise en compte de ceux-ci d’utiliser au ni- veau du bloc fonctionnel le paramètre

FLOW_CONTROL_TERMINAL_DEFAULT.

4.2 Gestion de flux pour une communication série RS485

La communication série RS485 permet une transmission des données en diffé- rentiel. Il est nécessaire de spécifier pour ce type de réseau le mode (Half Du- plex ou Full Duplex) ainsi que le type de liaison (2 fils ou 4 fils) utilisé pour l’échange des informations.

En Full Duplex, les données sont envoyées simultanément dans les deux sens (émission et réception).

En Half Duplex, l’envoi des données est alterné avec la réception (mode émis-

sion ou mode réception).

Comme évoqué précédemment la régulation du flux des données se fera soit à travers le logiciel Wago-I/O-Check 2 soit à travers le bloc fonctionnel.

Deux possibilités pour une communication série RS485 :

- Half Duplex (2 fils ou 4 fils). En mode 2 fils, veiller à ne pas oublier les straps nécessaires, TxD↔RxD d’une part et /TxD↔/RxD d’autre part.

On aboutit donc à une liaison de polarité + et -.

- Full Duplex, par définition en 4 fils.

Remarque

Lorsque les paramètres de contrôle de flux ont été spécifiés avec Wago-I/O- Check 2, il est nécessaire pour la prise en compte de ceux-ci d’utiliser au ni- veau du bloc fonctionnel le paramètre

FLOW_CONTROL_TERMINAL_DEFAULT.

Note d’application

a49150m

(15)

Projets d’exemple • 13

5 Projets d’exemple

Deux projets d’exemple correspondent à l’utilisation de ces deux blocs fonctionnels : ModbusMaster_l05.pro et ModbusSlave_l05.pro.

Le projet d’exemple ModbusMaster_l05.pro a pour fonction l’exécution cyclique sur un esclave Modbus de 4 requêtes : lecture bits, écriture bits, lecture mots et écriture mots.

L’ensemble des requêtes à exécuter est stocké dans un tableau selon une structure type typModbusQuery.

Une fois le booléen Start retombé à FALSE, le programme teste le code d’erreur renvoyé par le bloc fonctionnel MODBUSMASTER_RTU. S’il n’y a pas d’erreur, les données sont correctement reçues ou émises selon la requête.

En cas d’erreur, un compteur est incrémenté et on passe à la requête qui suit.

Attention

1. Les fichiers .exp ne sont pas exploitables directement, se référer à la note d’application a47040mf qui accompagne le package.

(16)

14 • Annexes

6 Annexes

6.1 Valeurs des paramètres d’entrée

bCOM_PORT : 0x01 pour la prise console 0x02 pour la première borne série 0x03 pour la deuxième borne série

… (possibilité d’avoir jusqu’à 64 bornes série)

bCOM_BAUDRATE : BAUD_110

BAUD_300

BAUD_600

BAUD_1200

BAUD_2400

BAUD_4800

BAUD_9600

BAUD_12000

BAUD_14400

BAUD_19200

BAUD_28800

BAUD_38400

BAUD_57600

BAUD_62500

BAUDRATE_TERMINAL_DEFAULT

cpCOM_PARITY : PARITY_NO PARITY_ODD

PARITY_EVEN

PARITY_TERMINAL_DEFAULT

csCOM_STOPBITS : STOPBITS_1 STOPBITS_2

STOPBITS_TERMINAL_DEFAULT

cbsCOM_BYTESIZE : BS_7 BS_8

BYTESIZE_TERMINAL_DEFAULT

cfCOM_FLOW_CONTROL :

NO_FLOW_CONTROL

XON_XOFF RTS_CTS FULLDUPLEX HALFDUPLEX

FLOW_CONTROL_TERMINAL_DEFAULT

Note d’application

a49150m

(17)

Annexes • 15

6.2 Valeurs des paramètres d’entrée/sortie

Query

TYPE typModbusQuery:

STRUCT

SlaveAddress: BYTE;

FunctionCode: BYTE;

StartAddress: UINT;

Quantity: UINT;

Data: ARRAY[0..124] OF WORD;

END_STRUCT END_TYPE

Response

TYPE typModbusResponse:

STRUCT

Error: WORD;

SlaveAddress: BYTE;

FunctionCode: BYTE;

StartAddress: UINT;

Quantity: UINT;

Data: ARRAY[0..124] OF WORD;

END_STRUCT END_TYPE

6.3 Valeurs des paramètres de sortie

MB_Error

TYPE enumMB_ERROR

MB_NO_ERROR

MB_NOT_SUPPORTED_FUNCTION

MB_ILLEGAL_DATA

MB_EXTENDED_SLAVE_ERROR

MB_CRC_ERROR

MB_ILLEGAL_NUMBER_OF_POINTS MB_OVERRUN

MB_TIME_OUT

END_TYPE

(18)

16 • En cas de problème

7 En cas de problème

Description Solution

Clignotement de la led I/O en rouge.

Vérifier que la station possède au moins une borne d’E/S.

Vérifier la présence de la borne finale de bus (750-600)

Se reporter au manuel du contrôleur

Clignotement de la led I/O en orange.

⇒ Contacter le support technique

Pas de réponse de l’esclave, erreur de TimeOut

Vérifier le câblage de la carte d’interface série (straps) et de la liaison avec l’esclave Modbus.

Vérifier les résistances de terminaison

Vérifier la bonne configuration de la borne série.

Cf. Chapitre 2

Vérifier que les paramètres de communication du bloc

fonctionnel sont en adéquation avec la borne série d’une part et avec l’esclave Modbus d’autre part.

Cf. chapitre 4 et 6.

Vérifier le numéro du port de communication.

Vérifier l’adresse de l’esclave Problème de

communication

Pas de réponse de l’esclave, erreur de CRC

Vérifier que l’adresse de lecture ou d’écriture correspond à une zone accessible.

Vérifier que la quantité

d’informations à lire ou à écrire est valide

Note d’application

a49150m

(19)

En cas de problème • 17

Fonctionnement automate

Après coupure du 24V, le programme ne tourne plus.

Vérifier que le programme a bien été flashé.

Vérifier que le switch, placé sous la trappe en face avant, est en position haute

(20)

WAGO Kontakttechnik GmbH Postfach 2880 • D-32385 Minden Hansastraße 27 • D-32423 Minden Phone: 05 71/8 87 – 0

Telefax: 05 71/8 87 – 1 69 E-Mail: info@wago.com

Internet: http://www.wago.com

Références

Documents relatifs

*msg : pointeur sur le premier octet du tableau de la trame modbus taille : taille (en octets) du tableau contenant la trame (msg[taille]) slave_ID : adresse de

WAGO Kontakttechnik GmbH dé- cline toute responsabilité pour des mauvaises manipulations ou des dommages causés sur des produits WAGO ou des produits tiers, dus au non-respect des

Repère dans l’écran ci-contre le nom du bloc d’instruction qui permet d’ajouter un point au joueur qui a répondu correctement à la question 1.. Bloc d’instruction : Ajouter à «

Humaines, de la  formation Service Financier,  Comptabilité

(hint : se restreindre à [0; 1] , lister les développements décimaux et en construire un qui ne peut apparaître dans cette liste en "perturbant" la

Puisque tous les croissants ont même prix (sauf croissant de la veille ou autre exception), la correspondance n’est pas injective (sauf s’il ne reste pas plus d’un croissant !) et

Définition du repos hebdomadaire : vous pouvez séparer les semaines d’activité soit grâce au plus grand repos sur la période de 6 jours, soit à la fin de cette période. Cette

Écrire un algorithme qui reprend le principe précédent permettant de déterminer le nombre écrit en base 2. Étoffer l’algorithme précédent de sorte que l’on obtienne un