Répondre à la discussion
Affichage des résultats 1 à 5 sur 5

Actions simultanées Flowcode V4




  1. #1
    Viruux

    Question Actions simultanées Flowcode V4

    Bonjour,

    Je suis en Terminal S SI et je suis en train de réaliser un PPE (une machine réalisant les cocktails) qui nécessite l'utilisation de Flowcode. Mon problème est le suivant : je cherche à réaliser plusieurs actions en même temps: en effet, lorsqu'il y a plusieurs verres dans la machine (au maximum 5), il faut que la réalisation du cocktail se fassent en même temps pour les 5.

    Donc mon principal problème est de réaliser plusieurs actions en simultanées.
    Merci !

    -----


  2. Publicité
  3. #2
    antoineterminales

    Re : Actions simultanées Flowcode V4

    J'ai le même problème,
    Merci de m'aider s'il vous plaît.

  4. #3
    Antoane

    Re : Actions simultanées Flowcode V4

    Bonjour et bienvenues sur Futura,

    Sauf dans le cas très particulier des composants multi-cœurs (et peut-être d'autres choses que je ne connais pas), un micro-contrôleur ne peux pas exécuter deux programmes simultanément.
    Il peut, parfois, donner l'impression de le faire en passant constamment de l'un à l'autre, sans le dire à l'utilisateur : il exécute le premier pendant un certain temps (e.g. qq ms), puis le second pendant pendant un certain temps, puis il revient au premier, etc. C'est alors le rôle de l'Operating System (i.e. l'OS, tel que windows, Unix (Linux), etc) de décider de l'allocation du processeur aux différents programmes.

    Sous flowcode, ces options ne sont pas disponibles, c'est à toi de faire croire à l'utilisateur que les deux programmes tournent en parallèle. N'importe quel micro-contrôleur peut exécuter plusieurs centaines de milliers à plusieurs million (voir beaucoup plus) d'instructions par seconde, faire deux choses choses l'une après l'autre peut donc donner l'impression qu'elles sont simultanées.
    S'il s'agit, par exemple, de remplir deux verres de taille différente, tu pourras faire un truc du genre :
    Code:
    début
         ouvrir robinet1 % on commence à remplir le premier verre
         ouvrir robinet2 % on commence à remplir le second verre
    
         attendre tant que(!verre1rempli & !verre2rempli) % on attend jusqu'à ce que l'un des verres soit rempli
    
         si(!verre1rempli), fermer robinet1 ; % si le verre 1 est rempli, on arrête de le remplir
         si(!verre2rempli), fermer robinet2 ; % si le verre 2 est rempli, on arrête de le remplir
    
         attendre tant que(verre1rempli & verre2rempli) % on attend que l'autre verre soit rempli - ce qui est équivalent à attendre que les deux verres soient remplis
    
         % il suffirait de ne fermer que le robinet laissé ouvert, mais on va fermer les deux car on ne sais pas lequel est déjà fermé
         fermer robinet1 
         fermer robinet2
    fin
    Deux pattes c'est une diode, trois pattes c'est un transistor, quatre pattes c'est une vache.


  5. #4
    mag1

    Re : Actions simultanées Flowcode V4

    Bonjour,

    Je signale toutefois une particularité des picaxes de la série M2 (les plus simples).
    La possibilité de programmer en pseudo multitâches/

    Ex

    Code:
    start1:
    	symbol led1=C.0
    	symbol led2=C.1
    	symbol led3=C.2
    
    	do
    		toggle led1
    		pause 300
    	loop
    
    start2:
    	do
    		toggle led2
    		pause 500
    	loop
    
    start3:
    	do
    		toggle led3
    		pause 700
    	loop
    Avec ce code, chaque led clignote à son rythme : 300, 500, 700 ms.
    Il y a des limites à ce type de programmation (fonctions dites bloquantes, et), mais c'est quand même pratique, les programmes pouvant se partager les mêmes variables et se transmettre ainsi des infos.

    Le nombre max de programmes en "multitâches" est de 8, ou 4 pour un 08M2

    MM
    Dernière modification par mag1 ; 10/01/2018 à 09h05.
    Si il y a des erreurs ci dessus, c'est que je n'ai pas eu le temps de les corriger...

  6. #5
    Ikhar84

    Re : Actions simultanées Flowcode V4

    Je suis peut être HS, mais moi je ne vois pas de besoin dr multitache ici: on "démultiplie" une même tache, mais les instructions sont bien uniques (et séquentielle), il doit suffire de jouer sur les sorties pour les "démultiplier" physiquement, soit de mettre en parallèle les préactionneurs (pas de détails ici sur le fonctionnement de la partie opérative).

    Là oú je verrais un problème, ce serait au niveau des entrées pour les capteurs "démultipliés"... je n'ai pas les compétences en électronique (et trop fatigué pour réflechir...), mais une solution du genre les capteurs en série, bien que ce soit une solution bloquante, assurerait que toutes les conditions soient remplies avant de passer à la suite du process (individuel).

    Là où on aurait besoin de multitache, par exemple, ce serait le cas où le robot preparait plusieurs boissons (recettes) différentes simulanément au lieu de cinq boissons identiques, ou alors j'ai mal compris le problème...

    Edit:
    On peut aussi séquentiellement activé chacune des sorties à la suite dans chaque instruction, les quelques ms que prendrait l'action ne devrait pas être trop visible...
    Dernière modification par Ikhar84 ; 10/01/2018 à 15h32.
    J'ai glissé Chef !

  7. A voir en vidéo sur Futura

Discussions similaires

  1. Translation et rotation simultanées
    Par mimow dans le forum Physique
    Réponses: 3
    Dernier message: 24/04/2012, 14h47
  2. Connexions Bluetooth simultanées
    Par keydmer dans le forum Électronique
    Réponses: 1
    Dernier message: 14/04/2010, 10h39
  3. actions indépendantes sur Flowcode
    Par Alex_31 dans le forum Électronique
    Réponses: 0
    Dernier message: 07/03/2010, 14h59
  4. Réactions simultanées
    Par Jack Burner dans le forum Chimie
    Réponses: 1
    Dernier message: 15/11/2009, 15h43
  5. PIC interruptions simultanées
    Par quentennis dans le forum Électronique
    Réponses: 4
    Dernier message: 16/06/2008, 12h45