Programmation de la trieuse de pièces métalliques sous Flowcode V3 |
27/12/2024 |
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 en cliquant ici en expérimentant concrètement dans Flowcode V3 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 V3 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 :
Connexion des entrées/sorties
Remarques concernant l'algorigramme et les variables utilisées :
On a créé 10 variables, toutes de type OCTET
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
RAPPEL : comme indiqué dans le document ressource "Utilisation des opérateurs logiques dans Flowcode" que vous avez consulté au début de ce TP, dans les macros Allumer_LED et Eteindre_LED il faut préciser le numéro de la LED concernée (entre 0 et 7) et pas le nom d'une variable :
Le bloc calcul contenant les 6 équations logiques ressemble à cela (ATTENTION : l'image suivante montre comment écrire les 6 équations logiques dans le même bloc calcul, mais ne donne en aucun cas les bonnes équations de la trieuse de pièces !!!) :
Bloc calcul contenant 6 équations fausses (à vous d'écrire les bonnes équations ...)
Remarques concernant l'écriture des équations logiques dans un bloc calcul :
- 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 ?
- avez-vous bien écrit tout les opérateurs (AND, OR, XOR et NOT) en MAJUSCULES ?
- 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 ...)
Si vous constatez que votre algorigramme ne vous donne pas ce que vous attendez ou ne détecte pas les bonnes pièces, réalisez les actions suivantes dans le but de diagnostiquer d'où vient le problème :
Voici pour rappel la forme de chacune des 6 pièces à tester en effectuant bien les 4 rotations pour chacune des pièces :
4 - Une fois votre algorigramme fonctionnel, relevez dans votre fiche mémo Flowcode les nouveautés utilisées et les étapes principales de cet algorigramme : écriture d'une équation logique dans Flowcode, utilisation des macros liées aux LED et aux interrupteurs, etc.
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 :
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 dans votre fiche mémo Flowcode :
|