diff --git a/Lycee/programmation_python/si/monte_charge/montchg_cmd-correction-appels.py b/Lycee/programmation_python/si/monte_charge/montchg_cmd-correction-appels.py new file mode 100644 index 0000000..33a7a2e --- /dev/null +++ b/Lycee/programmation_python/si/monte_charge/montchg_cmd-correction-appels.py @@ -0,0 +1,110 @@ +from montchg_lib import * # Bibliothèque portail coulissant + +############################################################################### +# 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) +# +# 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'appel étage niveau 0 : voy_0(True | False) +# - Voyant témoin d'appel étage niveau 1 : voy_1(True | False) +# +# Gestion du temps : +# - Temporisation en seconde : tempo(duree) +# +############################################################################### + +# Brochage du monte-charge +brochage={} + +############################################################################### +# Fonctions +############################################################################### + +############################################################################### +# Commandes +############################################################################### + +def commandes(): + + # Mise en place : Aller au niveau 0 + print ("Monte-charge version avec la mémorisation des appels (simultanéité des actions)") + print ("Mise en place : Aller au niveau 0 ...") + while pc_0() ==False: + mot_m(False) + mot_d(True) + mot_d(False) + print ("Mise en place : Aller au niveau 0 : Ok") + + # Fonctionnement normal + appel_0 =False # Mémorisation de l'appel + appel_1 =False # Mémorisation de l'appel + mov_0 =False # Mouvement en cours (ne pas interrompre) + mov_1 =False # Mouvement en cours (ne pas interrompre) + print ("Attente") + while True: + + # Mémorisation des appels + if ba_0()==True: + print ("Appel pour le niveau 0") + voy_0(True) + appel_0 = True + if ba_1()==True: + print ("Appel pour le niveau 1") + voy_1(True) + appel_1 = True + + # Aller au niveau 0 + if appel_0 and mov_1==False and pc_0() ==False: + mov_0 = True + mot_m(False) + mot_d(True) + + # Aller au niveau 1 + if appel_1 and mov_0==False and pc_1() ==False: + mov_1 = True + mot_d(False) + mot_m(True) + + # Arrêt des mouvements + if pc_0() and mov_0: + mot_m(False) + mot_d(False) + voy_0(False) + mov_0 = False + appel_0 = False + + if pc_1() and mov_1: + mot_m(False) + mot_d(False) + voy_1(False) + mov_1 = False + appel_1 = False + + fin() # A garder + + +############################################################################### +# En: External call << DONT CHANGE THIS SECTION >> +# Fr: Appel externe << NE PAS MODIFIER CETTE SECTION >> +############################################################################### + +if __name__=='start': + thread_cmd_start(commandes) +if __name__=='stop': + thread_cmd_stop() diff --git a/Lycee/programmation_python/si/monte_charge/montchg_cmd-correction-appels.py.~1~ b/Lycee/programmation_python/si/monte_charge/montchg_cmd-correction-appels.py.~1~ new file mode 100644 index 0000000..f75340f --- /dev/null +++ b/Lycee/programmation_python/si/monte_charge/montchg_cmd-correction-appels.py.~1~ @@ -0,0 +1,100 @@ +from porcou_lib import * # Bibliothèque portail coulissant + +############################################################################### +# porcou_cmd.py +# @title: Commandes du portail coulissant +############################################################################### + +############################################################################### +# Instructions élémentaires pour le portail coulissant +# +# Actions (ordre = True ou False) : +# - Gyrophare : gyr(True | False) +# - Ouvrir le portail (moteur sens trigo) : mot_o(True | False) +# - Fermer le portail (moteur sens horaire) : mot_f(True | False) +# - Emetteur pour le capteur barrage IR : ir_emet(True | False) +# +# Capteurs (valeur retournée = True ou False) : +# - Capteur fin de course portail ouvert : fdc_o() +# - Capteur fin de course portail fermé : fdc_f() +# - Capteur barrage IR (absence d'obstacle) : ir_recep() +# +# Consignes du pupitre (valeur retournée = True ou False) : +# - Bouton poussoir coté rue : bp_ext() +# - Bouton poussoir coté cour : bp_int() +# +# Gestion du temps : +# - Temporisation en seconde : tempo(duree) +# +############################################################################### + +# Brochage du portail coulissant +brochage={ + 'bp_ext' : [2,'d','i'], + 'ebp_int' : [3,'d','i'], + 'fdc_o' : [4,'d','i'], + 'fdc_f' : [5,'d','i'], + 'mot_o' : [6,'d','o'], + 'mot_f' : [7,'d','o'], + 'gyr' : [8,'d','o'], + 'ir_emett' : [9,'d','o'], + 'ir_recept' : [10,'d','i']} + +############################################################################### +# Fonctions +############################################################################### + +############################################################################### +# Commandes +############################################################################### + +def commandes(): + + # jumeau(brochage) + + # Mise en place : Fermeture + print ("Version sans sécurité : sans réouverture") + print ("Mise en place : Fermeture") + while fdc_f() ==False : + gyr(True) + mot_f(True) + mot_f(False) + gyr(False) + + # Fonctionnement normal + print ("Attente") + while True : + + # Ouverture + if bp_int() or bp_ext() : + print ("Ouverture") + while fdc_o() ==False: + gyr(True) + mot_o(True) + gyr(False) + mot_o(False) + + print ("Temporisation") + tempo(2) # Temporisation + + # Fermeture + print ("Fermeture") + while fdc_f() ==False: + gyr(True) + mot_f(True) + gyr(False) + mot_f(False) + print ("Attente") + + fin() # A garder + + +############################################################################### +# En: External call << DONT CHANGE THIS SECTION >> +# Fr: Appel externe << NE PAS MODIFIER CETTE SECTION >> +############################################################################### + +if __name__=='start': + thread_cmd_start(commandes) +if __name__=='stop': + thread_cmd_stop() diff --git a/Lycee/programmation_python/si/monte_charge/montchg_cmd-correction-appels.py.~2~ b/Lycee/programmation_python/si/monte_charge/montchg_cmd-correction-appels.py.~2~ new file mode 100644 index 0000000..ec8aa23 --- /dev/null +++ b/Lycee/programmation_python/si/monte_charge/montchg_cmd-correction-appels.py.~2~ @@ -0,0 +1,96 @@ +from montchg_lib import * # Bibliothèque portail coulissant + +############################################################################### +# 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) +# +# 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'appel étage niveau 0 : voy_0(True | False) +# - Voyant témoin d'appel étage niveau 1 : voy_1(True | False) +# +# Gestion du temps : +# - Temporisation en seconde : tempo(duree) +# +############################################################################### + +# Brochage du monte-charge +brochage={} + +############################################################################### +# Fonctions +############################################################################### + +############################################################################### +# Commandes +############################################################################### + +def commandes(): + + # 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) + 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() : + print ("Déplacement pour le niveau 0 ...") + voy_0(True) + while pc_0() ==False: + mot_m(False) + mot_d(True)g + 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() : + print ("Déplacement pour le niveau 1 ...") + voy_1(True) + while pc_1() ==False: + mot_d(False) + mot_m(True) + mot_m(False) + tempo(2) # Temporisation 2s + voy_1(False) + mov_1 = False + print ("Déplacement pour le niveau 1 : Ok") + print ("Attente") + + fin() # A garder + + +############################################################################### +# En: External call << DONT CHANGE THIS SECTION >> +# Fr: Appel externe << NE PAS MODIFIER CETTE SECTION >> +############################################################################### + +if __name__=='start': + thread_cmd_start(commandes) +if __name__=='stop': + thread_cmd_stop() diff --git a/Lycee/programmation_python/si/monte_charge/montchg_cmd-correction-tempo.py b/Lycee/programmation_python/si/monte_charge/montchg_cmd-correction-tempo.py new file mode 100644 index 0000000..fac79d7 --- /dev/null +++ b/Lycee/programmation_python/si/monte_charge/montchg_cmd-correction-tempo.py @@ -0,0 +1,133 @@ +from montchg_lib import * # Bibliothèque portail coulissant + +############################################################################### +# 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) +# +# 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'appel étage niveau 0 : voy_0(True | False) +# - Voyant témoin d'appel étage niveau 1 : voy_1(True | False) +# +# Gestion du temps : +# - Temporisation en seconde : tempo(duree) +# +############################################################################### + +# Brochage du monte-charge +brochage={} + +############################################################################### +# Fonctions +############################################################################### + +############################################################################### +# Commandes +############################################################################### + +def commandes(): + + # Mise en place : Aller au niveau 0 + print ("Monte-charge version avec la mémorisation des appels et la temporisation") + print ("Mise en place : Aller au niveau 0 ...") + while pc_0() ==False: + mot_m(False) + mot_d(True) + mot_d(False) + print ("Mise en place : Aller au niveau 0 : Ok") + + # Fonctionnement normal + appel_0 =False # Mémorisation de l'appel + appel_1 =False # Mémorisation de l'appel + mov_0 =False # Mouvement en cours (ne pas interrompre) + mov_1 =False # Mouvement en cours (ne pas interrompre) + temp = False # Temporisation active + duree=0 # Durée écoulée (en 0,1 s) de la temporisation + print ("Attente") + while True: + + # Mémorisation des appels + if ba_0()==True: + print ("Appel pour le niveau 0") + voy_0(True) + appel_0 = True + if ba_1()==True: + print ("Appel pour le niveau 1") + voy_1(True) + appel_1 = True + + # Aller au niveau 0 + if appel_0 and mov_0 == False and mov_1==False and pc_0() ==False and temp == False: + print ("Déplacement pour le niveau 0 ...") + mov_0 = True + mot_m(False) + mot_d(True) + + # Aller au niveau 1 + if appel_1 and mov_0 == False and mov_1==False and pc_1() ==False and temp == False: + print ("Déplacement pour le niveau 1 ...") + mov_1 = True + mot_d(False) + mot_m(True) + + # Arrêt des mouvements et déclanchement de la temporisation + if pc_0() and temp == False and mov_0: + print ("Déplacement pour le niveau 0 : Ok") + print ("Temporisation ...") + mot_m(False) + mot_d(False) + temp = True + if pc_1() and temp == False and mov_1: + print ("Déplacement pour le niveau 1 : Ok") + print ("Temporisation ...") + mot_m(False) + mot_d(False) + temp = True + + # Temporisation + if temp: + tempo(0.1) # Temporisation 0.1s + duree +=1 + + # Arrêt du cycle quand la temporisation est cloturée + if duree==20: # Temporisation 2s + print ("Temporisation : Ok") + temp = False + if mov_0: + mov_0 = False + voy_0(False) + appel_0 = False + if mov_1: + mov_1 = False + voy_1(False) + appel_1 = False + duree=0 + print ("Attente") + + fin() # A garder + + +############################################################################### +# En: External call << DONT CHANGE THIS SECTION >> +# Fr: Appel externe << NE PAS MODIFIER CETTE SECTION >> +############################################################################### + +if __name__=='start': + thread_cmd_start(commandes) +if __name__=='stop': + thread_cmd_stop() diff --git a/Lycee/programmation_python/si/monte_charge/montchg_cmd-correction-tempo.py.~1~ b/Lycee/programmation_python/si/monte_charge/montchg_cmd-correction-tempo.py.~1~ new file mode 100644 index 0000000..d933c18 --- /dev/null +++ b/Lycee/programmation_python/si/monte_charge/montchg_cmd-correction-tempo.py.~1~ @@ -0,0 +1,121 @@ +from montchg_lib import * # Bibliothèque portail coulissant + +############################################################################### +# 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) +# +# 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'appel étage niveau 0 : voy_0(True | False) +# - Voyant témoin d'appel étage niveau 1 : voy_1(True | False) +# +# Gestion du temps : +# - Temporisation en seconde : tempo(duree) +# +############################################################################### + +# Brochage du monte-charge +brochage={} + +############################################################################### +# Fonctions +############################################################################### + +############################################################################### +# Commandes +############################################################################### + +def commandes(): + + # Mise en place : Aller au niveau 0 + print ("Monte-charge version avec la mémorisation des appels (simultanéité des actions)") + print ("Mise en place : Aller au niveau 0 ...") + while pc_0() ==False: + mot_m(False) + mot_d(True) + mot_d(False) + print ("Mise en place : Aller au niveau 0 : Ok") + + # Fonctionnement normal + appel_0 =False # Mémorisation de l'appel + appel_1 =False # Mémorisation de l'appel + mov_0 =False # Mouvement en cours (ne pas interrompre) + mov_1 =False # Mouvement en cours (ne pas interrompre) + print ("Attente") + while True: + + # Mémorisation des appels + if ba_0()==True: + print ("Appel pour le niveau 0") + voy_0(True) + appel_0 = True + if ba_1()==True: + print ("Appel pour le niveau 1") + voy_1(True) + appel_1 = True + + # Aller au niveau 0 + if appel_0 and mov_1==False and pc_0() ==False and temp == False: + mov_0 = True + mot_m(False) + mot_d(True) + + # Aller au niveau 1 + if appel_1 and mov_0==False and pc_1() ==False and temp == False: + mov_1 = True + mot_d(False) + mot_m(True) + + # Arrêt des mouvements et déclanchement des temporisations + if pc_0() and temp == False and mov_0: + mot_m(False) + mot_d(False) + if pc_1() and temp == False and mov_1: + mot_m(False) + mot_d(False) + + # Temporisation + if temp: + tempo(0.1) # Temporisation 0.1s + duree +=1 + + # Arrêt du cycle quand la temporisation est cloturée + if duree=20: # Temporisation 2s + temp = False + if pc_0() and mov_0: + mov_0 = False + voy_0(False) + appel_0 = False + if pc_1() and mov_1: + mov_1 = False + voy_1(False) + appel_1 = False + + + fin() # A garder + + +############################################################################### +# En: External call << DONT CHANGE THIS SECTION >> +# Fr: Appel externe << NE PAS MODIFIER CETTE SECTION >> +############################################################################### + +if __name__=='start': + thread_cmd_start(commandes) +if __name__=='stop': + thread_cmd_stop() diff --git a/Lycee/programmation_python/si/monte_charge/montchg_cmd-correction-tempo.py.~2~ b/Lycee/programmation_python/si/monte_charge/montchg_cmd-correction-tempo.py.~2~ new file mode 100644 index 0000000..cbe5775 --- /dev/null +++ b/Lycee/programmation_python/si/monte_charge/montchg_cmd-correction-tempo.py.~2~ @@ -0,0 +1,123 @@ +from montchg_lib import * # Bibliothèque portail coulissant + +############################################################################### +# 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) +# +# 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'appel étage niveau 0 : voy_0(True | False) +# - Voyant témoin d'appel étage niveau 1 : voy_1(True | False) +# +# Gestion du temps : +# - Temporisation en seconde : tempo(duree) +# +############################################################################### + +# Brochage du monte-charge +brochage={} + +############################################################################### +# Fonctions +############################################################################### + +############################################################################### +# Commandes +############################################################################### + +def commandes(): + + # Mise en place : Aller au niveau 0 + print ("Monte-charge version avec la mémorisation des appels et la temporisation") + print ("Mise en place : Aller au niveau 0 ...") + while pc_0() ==False: + mot_m(False) + mot_d(True) + mot_d(False) + print ("Mise en place : Aller au niveau 0 : Ok") + + # Fonctionnement normal + appel_0 =False # Mémorisation de l'appel + appel_1 =False # Mémorisation de l'appel + mov_0 =False # Mouvement en cours (ne pas interrompre) + mov_1 =False # Mouvement en cours (ne pas interrompre) + print ("Attente") + while True: + + # Mémorisation des appels + if ba_0()==True: + print ("Appel pour le niveau 0") + voy_0(True) + appel_0 = True + if ba_1()==True: + print ("Appel pour le niveau 1") + voy_1(True) + appel_1 = True + + # Aller au niveau 0 + if appel_0 and mov_1==False and pc_0() ==False and temp == False: + mov_0 = True + mot_m(False) + mot_d(True) + + # Aller au niveau 1 + if appel_1 and mov_0==False and pc_1() ==False and temp == False: + mov_1 = True + mot_d(False) + mot_m(True) + + # Arrêt des mouvements et déclanchement des temporisations + if pc_0() and temp == False and mov_0: + mot_m(False) + mot_d(False) + temp = True + if pc_1() and temp == False and mov_1: + mot_m(False) + mot_d(False) + temp = True + + # Temporisation + if temp: + tempo(0.1) # Temporisation 0.1s + duree +=1 + + # Arrêt du cycle quand la temporisation est cloturée + if duree=20: # Temporisation 2s + temp = False + if pc_0() and mov_0: + mov_0 = False + voy_0(False) + appel_0 = False + if pc_1() and mov_1: + mov_1 = False + voy_1(False) + appel_1 = False + + + fin() # A garder + + +############################################################################### +# En: External call << DONT CHANGE THIS SECTION >> +# Fr: Appel externe << NE PAS MODIFIER CETTE SECTION >> +############################################################################### + +if __name__=='start': + thread_cmd_start(commandes) +if __name__=='stop': + thread_cmd_stop() diff --git a/Lycee/programmation_python/si/monte_charge/montchg_cmd-correction.py b/Lycee/programmation_python/si/monte_charge/montchg_cmd-correction.py new file mode 100644 index 0000000..ec8aa23 --- /dev/null +++ b/Lycee/programmation_python/si/monte_charge/montchg_cmd-correction.py @@ -0,0 +1,96 @@ +from montchg_lib import * # Bibliothèque portail coulissant + +############################################################################### +# 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) +# +# 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'appel étage niveau 0 : voy_0(True | False) +# - Voyant témoin d'appel étage niveau 1 : voy_1(True | False) +# +# Gestion du temps : +# - Temporisation en seconde : tempo(duree) +# +############################################################################### + +# Brochage du monte-charge +brochage={} + +############################################################################### +# Fonctions +############################################################################### + +############################################################################### +# Commandes +############################################################################### + +def commandes(): + + # 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) + 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() : + print ("Déplacement pour le niveau 0 ...") + voy_0(True) + while pc_0() ==False: + mot_m(False) + mot_d(True)g + 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() : + print ("Déplacement pour le niveau 1 ...") + voy_1(True) + while pc_1() ==False: + mot_d(False) + mot_m(True) + mot_m(False) + tempo(2) # Temporisation 2s + voy_1(False) + mov_1 = False + print ("Déplacement pour le niveau 1 : Ok") + print ("Attente") + + fin() # A garder + + +############################################################################### +# En: External call << DONT CHANGE THIS SECTION >> +# Fr: Appel externe << NE PAS MODIFIER CETTE SECTION >> +############################################################################### + +if __name__=='start': + thread_cmd_start(commandes) +if __name__=='stop': + thread_cmd_stop() diff --git a/Lycee/programmation_python/si/monte_charge/montchg_cmd-correction.py.~1~ b/Lycee/programmation_python/si/monte_charge/montchg_cmd-correction.py.~1~ new file mode 100644 index 0000000..f75340f --- /dev/null +++ b/Lycee/programmation_python/si/monte_charge/montchg_cmd-correction.py.~1~ @@ -0,0 +1,100 @@ +from porcou_lib import * # Bibliothèque portail coulissant + +############################################################################### +# porcou_cmd.py +# @title: Commandes du portail coulissant +############################################################################### + +############################################################################### +# Instructions élémentaires pour le portail coulissant +# +# Actions (ordre = True ou False) : +# - Gyrophare : gyr(True | False) +# - Ouvrir le portail (moteur sens trigo) : mot_o(True | False) +# - Fermer le portail (moteur sens horaire) : mot_f(True | False) +# - Emetteur pour le capteur barrage IR : ir_emet(True | False) +# +# Capteurs (valeur retournée = True ou False) : +# - Capteur fin de course portail ouvert : fdc_o() +# - Capteur fin de course portail fermé : fdc_f() +# - Capteur barrage IR (absence d'obstacle) : ir_recep() +# +# Consignes du pupitre (valeur retournée = True ou False) : +# - Bouton poussoir coté rue : bp_ext() +# - Bouton poussoir coté cour : bp_int() +# +# Gestion du temps : +# - Temporisation en seconde : tempo(duree) +# +############################################################################### + +# Brochage du portail coulissant +brochage={ + 'bp_ext' : [2,'d','i'], + 'ebp_int' : [3,'d','i'], + 'fdc_o' : [4,'d','i'], + 'fdc_f' : [5,'d','i'], + 'mot_o' : [6,'d','o'], + 'mot_f' : [7,'d','o'], + 'gyr' : [8,'d','o'], + 'ir_emett' : [9,'d','o'], + 'ir_recept' : [10,'d','i']} + +############################################################################### +# Fonctions +############################################################################### + +############################################################################### +# Commandes +############################################################################### + +def commandes(): + + # jumeau(brochage) + + # Mise en place : Fermeture + print ("Version sans sécurité : sans réouverture") + print ("Mise en place : Fermeture") + while fdc_f() ==False : + gyr(True) + mot_f(True) + mot_f(False) + gyr(False) + + # Fonctionnement normal + print ("Attente") + while True : + + # Ouverture + if bp_int() or bp_ext() : + print ("Ouverture") + while fdc_o() ==False: + gyr(True) + mot_o(True) + gyr(False) + mot_o(False) + + print ("Temporisation") + tempo(2) # Temporisation + + # Fermeture + print ("Fermeture") + while fdc_f() ==False: + gyr(True) + mot_f(True) + gyr(False) + mot_f(False) + print ("Attente") + + fin() # A garder + + +############################################################################### +# En: External call << DONT CHANGE THIS SECTION >> +# Fr: Appel externe << NE PAS MODIFIER CETTE SECTION >> +############################################################################### + +if __name__=='start': + thread_cmd_start(commandes) +if __name__=='stop': + thread_cmd_stop() diff --git a/Lycee/programmation_python/si/monte_charge/montchg_cmd-correction.py.~2~ b/Lycee/programmation_python/si/monte_charge/montchg_cmd-correction.py.~2~ new file mode 100644 index 0000000..48db81d --- /dev/null +++ b/Lycee/programmation_python/si/monte_charge/montchg_cmd-correction.py.~2~ @@ -0,0 +1,94 @@ +from montchg_lib import * # Bibliothèque portail coulissant + +############################################################################### +# 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) +# +# 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'appel étage niveau 0 : voy_0(True | False) +# - Voyant témoin d'appel étage niveau 1 : voy_1(True | False) +# +# Gestion du temps : +# - Temporisation en seconde : tempo(duree) +# +############################################################################### + +# Brochage du monte-charge +brochage={} + +############################################################################### +# Fonctions +############################################################################### + +############################################################################### +# Commandes +############################################################################### + +def commandes(): + + # Mise en place : Aller au niveau 0 + print ("Monte-charge version avec la mémorisation des appels") + print ("Mise en place : Aller au niveau 0 ...") + while pc_0() ==False: + mot_m(False) + mot_d(True) + 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() : + print ("Déplacement pour le niveau 0 ...") + voy_0(True) + while pc_0() ==False: + mot_m(False) + mot_d(True) + mot_d(False) + tempo(2) # Temporisation 2s + voy_0(False) + print ("Déplacement pour le niveau 0 : Ok") + + # Aller au niveau 1 + if ba_1() : + print ("Déplacement pour le niveau 1 ...") + voy_1(True) + while pc_1() ==False: + mot_d(False) + mot_m(True) + mot_m(False) + tempo(2) # Temporisation 2s + voy_1(False) + mov_1 = False + print ("Déplacement pour le niveau 1 : Ok") + + fin() # A garder + + +############################################################################### +# En: External call << DONT CHANGE THIS SECTION >> +# Fr: Appel externe << NE PAS MODIFIER CETTE SECTION >> +############################################################################### + +if __name__=='start': + thread_cmd_start(commandes) +if __name__=='stop': + thread_cmd_stop() diff --git a/Lycee/programmation_python/si/monte_charge/montchg_cmd.py b/Lycee/programmation_python/si/monte_charge/montchg_cmd.py new file mode 100644 index 0000000..8a8d66d --- /dev/null +++ b/Lycee/programmation_python/si/monte_charge/montchg_cmd.py @@ -0,0 +1,65 @@ +from montchg_lib import * # Bibliothèque portail coulissant + +############################################################################### +# 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) +# +# 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) +# +############################################################################### + +# Brochage du monte-charge +brochage={} + +############################################################################### +# Fonctions +############################################################################### + +############################################################################### +# Commandes +############################################################################### + +def commandes(): + + # Ecrire votre code ici ... + while True: + voy_0(True) + voy_1(False) + tempo(0.5) + voy_0(False) + voy_1(True) + tempo(0.5) + + fin() # A garder + + +############################################################################### +# En: External call << DONT CHANGE THIS SECTION >> +# Fr: Appel externe << NE PAS MODIFIER CETTE SECTION >> +############################################################################### + +if __name__=='start': + thread_cmd_start(commandes) +if __name__=='stop': + thread_cmd_stop() diff --git a/Lycee/programmation_python/si/monte_charge/montchg_cmd.py.~1~ b/Lycee/programmation_python/si/monte_charge/montchg_cmd.py.~1~ new file mode 100644 index 0000000..5a4e2f5 --- /dev/null +++ b/Lycee/programmation_python/si/monte_charge/montchg_cmd.py.~1~ @@ -0,0 +1,74 @@ +from montchg_lib import * # Bibliothèque portail coulissant + +############################################################################### +# 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) +# +# 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) +# +############################################################################### + +# Brochage du monte-charge +brochage={} + +############################################################################### +# Fonctions +############################################################################### + +############################################################################### +# Commandes +############################################################################### + +def commandes(): + print ("Ok go !!") + + # Ecrire votre code ici ... + while True: + + if ba_0()==True: + voy_1(False) + voy_0(True) + mot_m(False) + mot_d(True) + + if ba_1()==True: + voy_0(False) + voy_1(True) + mot_d(False) + mot_m(True) + + # pass + + fin() # A garder + + +############################################################################### +# En: External call << DONT CHANGE THIS SECTION >> +# Fr: Appel externe << NE PAS MODIFIER CETTE SECTION >> +############################################################################### + +if __name__=='start': + thread_cmd_start(commandes) +if __name__=='stop': + thread_cmd_stop() diff --git a/Lycee/programmation_python/si/monte_charge/montchg_cmd.py.~2~ b/Lycee/programmation_python/si/monte_charge/montchg_cmd.py.~2~ new file mode 100644 index 0000000..8155213 --- /dev/null +++ b/Lycee/programmation_python/si/monte_charge/montchg_cmd.py.~2~ @@ -0,0 +1,72 @@ +from montchg_lib import * # Bibliothèque portail coulissant + +############################################################################### +# 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) +# +# 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) +# +############################################################################### + +# Brochage du monte-charge +brochage={} + +############################################################################### +# Fonctions +############################################################################### + +############################################################################### +# Commandes +############################################################################### + +def commandes(): + print ("Ok go !!") + + # Ecrire votre code ici ... + while True: + + if ba_0()==True: + voy_1(False) + voy_0(True) + mot_m(False) + mot_d(True) + + if ba_1()==True: + voy_0(False) + voy_1(True) + mot_d(False) + mot_m(True) + + fin() # A garder + + +############################################################################### +# En: External call << DONT CHANGE THIS SECTION >> +# Fr: Appel externe << NE PAS MODIFIER CETTE SECTION >> +############################################################################### + +if __name__=='start': + thread_cmd_start(commandes) +if __name__=='stop': + thread_cmd_stop() diff --git a/Lycee/programmation_python/si/portail_coulissant/porcou_cmd.py b/Lycee/programmation_python/si/portail_coulissant/porcou_cmd.py new file mode 100644 index 0000000..5834daa --- /dev/null +++ b/Lycee/programmation_python/si/portail_coulissant/porcou_cmd.py @@ -0,0 +1,60 @@ +from porcou_lib import * # Bibliothèque portail coulissant + +############################################################################### +# porcou_cmd.py +# @title: Commandes du portail coulissant +############################################################################### + +############################################################################### +# Instructions élémentaires pour le portail coulissant +# +# Actions (ordre = True ou False) : +# - Gyrophare : gyr(True | False) +# - Ouvrir le portail (moteur sens trigo) : mot_o(True | False) +# - Fermer le portail (moteur sens horaire) : mot_f(True | False) +# - Emetteur pour le capteur barrage IR : ir_emet(True | False) +# +# Capteurs (valeur retournée = True ou False) : +# - Capteur fin de course portail ouvert : fdc_o() +# - Capteur fin de course portail fermé : fdc_f() +# - Capteur barrage IR (absence d'obstacle) : ir_recep() +# +# Consignes du pupitre (valeur retournée = True ou False) : +# - Bouton poussoir coté rue : bp_ext() +# - Bouton poussoir coté cour : bp_int() +# +# Gestion du temps : +# - Temporisation en seconde : tempo(duree) +# +############################################################################### + +# Brochage du portail coulissant +brochage={} + +############################################################################### +# Fonctions +############################################################################### + +############################################################################### +# Commandes +############################################################################### + +def commandes(): + + # Ecrire votre code ici ... + gyr(True) # Activer le gyrophare + while True: + pass + + fin() # A garder + + +############################################################################### +# En: External call << DONT CHANGE THIS SECTION >> +# Fr: Appel externe << NE PAS MODIFIER CETTE SECTION >> +############################################################################### + +if __name__=='start': + thread_cmd_start(commandes) +if __name__=='stop': + thread_cmd_stop()