TP 25

Programmation de la trieuse de pièces métalliques sous Flowcode

Travail demandé

1 - Faites entièrement l'exercice papier "La trieuse de pièces métaliques" dans le but de déterminer théoriquement les équations logiques des 6 sorties du système en utilisant la méthode de votre choix. N'hésitez pas à consulter de vous même tous les cours, les exercices, et les TP passés concernant les équations logiques et la logique combinatoire.

2 - Consultez activement le document ressource "Utilisation des opérateurs logiques dans Flowcode" disponible sur le serveur Nessi à l'emplacement Documents Logiciels + Flowcode + Utilisation des opérateurs logiques dans Flowcode en expérimentant concrètement dans Flowcode tous les exemples donnés et en enrichissant votre fiche mémo de Flowcode.

A l'issue de ce document ressource vous devez être capable de programmer un système en logique combinatoire sous Flowcode, à partir des équations logiques de ses sorties.

3 - Validez dans Flowcode un algorigramme correspondant à la fonction logique combinatoire "Déterminer la pièce détectée" de la trieuse de pièce en respectant le cahier des charges suivant :

Les 4 entrées W, X, Y et Z seront connectées sur le port A (respectivement sur A0 à A3)

Les 6 sorties A, B, C, D, E et F seront connectées sur le port B (respectivement sur B0 à B5)

les 4 interrupteurs sont de type Bascule (et non Poussoir)

si un coin d'une pièce est présent, le capteur correspondant est à 1, et l'interrupteur correspondant est fermé

si un coin d'une pièce est absent, le capteur correspondant est à 0, et l'interrupteur correspondant est ouvert

si une pièce est détectée alors la LED correspondante doit s'allumer

Connexion des entrées/sorties

Remarques concernant l'algorigramme et les variables utilisées :

il faut créer les 10 variables w, x, y, z, a, b, c, d, e et f toutes de type octet

w, x, y et z sont les variables d'entrée

a, b, c, d, e et f sont les variables de sortie

les noms des variables sont toujours écrits en minuscule dans les différents blocs de l'algorigramme

les noms des opérateurs (AND, OR, etc.) sont toujours écrits en MAJUSCULE dans les différents blocs de l'algorigramme

la solution attendue tient dans un seul algorigramme (ne pas faire 6 algorigrammes)

une succession de 6 blocs Décision permet de déterminer quelle est la pièce détectée

Observez l'algorigramme suivant en lisant les commentaire : il montre la structure de base de la solution attendue :

Structure de base de votre algorigramme, à compléter

Remarques concernant l'écriture des équations logiques dans un bloc calcul :

l'affectation des 6 variables de sortie pourra se faire dans un seul et même bloc calcul

si vous constatez que la priorité du ET devant les OU n'est pas respectée par Flowcode n'hésitez pas à ajouter des paires de parenthèses correctement imbriquées dans vos équations logiques

si en validant votre bloc calcul Flowcode vous indique qu'une équation est incorrecte, vérifiez attentivement et dans l'ordre les éléments suivants :

toutes les variables utilisées dans l'équation sont-elles correctement déclarées et de type octet ?
l'imbrication des paranthèses est-elle correcte ?
n'avez-vous pas écrit un 0 (chiffre zéro) à la place d'un O (lettre o) dans un des opérateurs OR ou XOR ?
écrivez-vous bien votre équation logique dans un bloc Calcul ?? (et non dans un bloc Manipulation de chaîne ...)

4 - Une fois fonctionnel, relevez votre algorigramme dans votre cahier marque tout en le commentant et en expliquant les étapes principales.

5 - Afin d'améliorer le système on remplace les 6 LED par un afficheur LCD indiquant le nom de la pièce détectée.

Supprimez de votre projet Flowcode les 6 LED, puis ajoutez un afficheur LCD (connecté au port B). Les 4 interrupteurs bistables des entrées sont toujours connectés au port A.

Validez dans Flowcode un algorigramme correspondant à la fonction "Déterminer la pièce détectée" de la trieuse de pièce en respectant le cahier des charges suivant :

Si une des 6 pièces est détectée alors un message clair l'indique sur l'afficheur LCD :

L'affichage ne doit ni clignorer ni scintiller

Concernant l'afficheur LCD on rappelle qu'il faut appeler la macro Init au début du programme, avant d'appeler la macro Ecrit_Chaîne permettant d'afficher une chaîne de caractère :

Utilisation de base de l'afficheiur LCD

De plus, afin que l'afficheur ne scintille pas, il faut appeler la macro Init une seule fois au tout début du programme (en dehors de la boucle principale), et il faut placer le curseur en 0,0 juste avant d'afficher le texte, en utilisant la macro Curseur :

Solution pour que l'afficheur LCD ne scintille pas

A retenir et à noter page 1 dans votre fiche mémo Flowcode :

Question : Comment éviter que l'afficheur LCD ne scintille ?

Réponse : il faut placer la macro Init à l'extérieur de la boucle principale, et il faut posissionner le curseur (macro Curseur) juste avant d'afficher le texte (macro Ecrit_Chaîne)

6 - Une fois fonctionnel, relevez votre algorigramme dans votre cahier marque tout en le commentant et en expliquant les étapes principales.

Retrouvez d'autres TP sur le site ressource

www.gecif.net