from montchg_lib import * # Bibliothèque utilisateur du monte-charge ############################################################################### # montchg_cmd.py # @title: Commandes du monte-charge ############################################################################### ############################################################################### # Instructions élémentaires pour le monte-charge # # Actions (ordre = True ou False) : # - Monter le monte-charge (moteur sens trigo) : mot_m(True | False) # - Descendre le monte-charge (moteur sens horaire) : mot_d(True | False) # - Définir la vitesse du moteur jumeau numérique : mot_vitesse (vitesse) , vitesse en rad / s, si vitesse est omis la valeur par défaut est 125.6 rad /s ( 20 tr / s )) # - Définir la vitesse du moteur jumeau réel : mot_vitesse_r (vitesse) , vitesse de 0 à 255, la valeur par défaut est 255 (uniquement sur la maquette Grove) # # Capteurs (valeur retournée = True ou False) : # - Capteur présence cabine niveau 0 : pc_0() # - Capteur présence cabine niveau 1 : pc_1() # # Consignes du pupitre (valeur retournée = True ou False) : # - Bouton poussoir appel niveau 0 : ba_0() # - Bouton poussoir appel niveau 1 : ba_1() # # Retours d'information du pupitre (allumer = True ou False) : # - Voyant témoin d'étage niveau 0 : voy_0(True | False) # - Voyant témoin d'étage niveau 1 : voy_1(True | False) # # Gestion du temps : # - Temporisation en seconde : tempo(duree) # - Réinitialisation de la valeur du temp (t) : reset_t() # # Acquisition de données : # - Retourne la valeur de la variable à l'instant : get(variable) # - Lancer l'enregistrement : daq([variable1, variable2, ... ]) # - Afficher les graphiques : plot([variable1, variable2, ... ]) # # Jumelage : # - Démarrer le jumelage : jumeau({brochage}) # - Arrêter le jumelage : jumeau_stop({brochage}) # - Définir les règles d'activation : jumeau_mode({brochage}) # ############################################################################### # Brochage du monte-charge (Grove) brochage={ 'pc_0' : ['d',7,'i'], 'pc_1' : ['d',8,'i'], 'ba_0' : ['a',0,'i'], 'ba_1' : ['a',1,'i'], 'voy_0' : ['d',5,'o'], 'voy_1' : ['d',6,'o'], 'mot_v' : ['d',3,'p'], 'mot_s' : ['d',4,'o']} ############################################################################### # Fonctions ############################################################################### ############################################################################### # Commandes ############################################################################### def commandes(): # daq(['mot_angle', 'mot_vitesse', 'cabine_z', 'cabine_vitesse']) # plot(['mot_angle', 'mot_vitesse']) jumeau(brochage) jumeau_mode(True, True, True, True) # Mise en place : Aller au niveau 0 print ("Monte-charge sans la mémorisation des appels") print ("Mise en place : Aller au niveau 0 ...") while pc_0() ==False: mot_m(False) mot_d(True) tempo(0.1) mot_d(False) print ("Mise en place : Aller au niveau 0 : Ok") # Fonctionnement normal print ("Attente") while True: # Aller au niveau 0 if ba_0() and pc_0() ==False: print ("Déplacement pour le niveau 0 ...") voy_0(True) while pc_0() ==False: mot_m(False) mot_d(True) tempo(0.1) mot_d(False) tempo(2) # Temporisation 2s voy_0(False) print ("Déplacement pour le niveau 0 : Ok") print ("Attente") # Aller au niveau 1 if ba_1() and pc_1() ==False: print ("Déplacement pour le niveau 1 ...") voy_1(True) while pc_1() ==False: mot_d(False) mot_m(True) tempo(0.1) mot_m(False) tempo(2) # Temporisation 2s voy_1(False) print ("Déplacement pour le niveau 1 : Ok") print ("Attente") tempo(0.1) ############################################################################### # En: External call << DONT CHANGE THIS SECTION >> # Fr: Appel externe << NE PAS MODIFIER CETTE SECTION >> ############################################################################### ### # Variante 1 : Maquette Grove # - Maquette Grove : la carte moteur est le shield moteur Arduino CC 4 x 1,2 A DRI0039 (DFROBOT) # Variante 2 : Maquette AutoProg # - Maquette AutoProg (A4 Technologie) : la carte moteur est le module AutoProg K-AP-MMOT-KIT ### def cycle(): commandes() fin() if __name__=='start': start(cycle) if __name__=='stop': stop() if __name__=='init': variant(1) # Variante maquette Grove