mirror of
https://forge.apps.education.fr/blender-edutech/jumeaux-numeriques.git
synced 2024-01-27 06:56:18 +01:00
119 lines
4.6 KiB
Python
119 lines
4.6 KiB
Python
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)
|
|
#
|
|
# 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={
|
|
'ba_0' : [],'ba_1' : [],
|
|
'pc_0' : [],'pc_1' : [],
|
|
'mot_m' : [],'mot_d' : [],
|
|
'voy_0' : [], 'voy_1' : []}
|
|
|
|
###############################################################################
|
|
# Fonctions
|
|
###############################################################################
|
|
|
|
###############################################################################
|
|
# Commandes
|
|
###############################################################################
|
|
|
|
def commandes():
|
|
|
|
daq(['mot_angle', 'mot_vitesse', 'cabine_z', 'cabine_vitesse'])
|
|
plot(['mot_angle', 'mot_vitesse'])
|
|
# plot(['mot_angle', 'mot_vitesse', ['cabine_z', 'cabine_vitesse']])
|
|
# plot([['mot_angle', 'mot_vitesse']])
|
|
# plot(['mot_angle'])
|
|
jumeau_mode(True, True, True, True)
|
|
|
|
mot_vitesse (500)
|
|
# Init -> Descendre
|
|
while pc_0() ==False :
|
|
voy_0(True)
|
|
mot_m(False)
|
|
mot_d(True)
|
|
mot_d(False)
|
|
voy_0(False)
|
|
print ("")
|
|
|
|
daq(['mot_angle', 'mot_vitesse', 'cabine_z', 'cabine_vitesse'])
|
|
|
|
# Monter
|
|
mot_digitset (500)
|
|
t0,z0, a0= get('t'), get('cabine_z'), get('mot_angle')
|
|
print ("Début monter : cabine_z : "+str(round(z0, 3)) + " - mot_angle : " + str(round(a0, 3)))
|
|
while pc_1() ==False :
|
|
voy_1(True)
|
|
mot_d(False)
|
|
mot_m(True)
|
|
mot_pas, mot_vitesse, cabine_pas, cabine_vitesse= get('mot_pas'), get('mot_vitesse'), get('cabine_pas'), get('cabine_vitesse')
|
|
mot_m(False)
|
|
voy_1(False)
|
|
t1,z1, a1= get('t'), get('cabine_z'), get('mot_angle')
|
|
print ("Fin monter : cabine_z : "+str(round(z1, 3)) + " - mot_angle : " + str(round(a1, 3)))
|
|
print ("")
|
|
print ("Monter : "+str(round(t1-t0, 3)) +" s - distance : " +str(round(z1-z0, 3))+" mm - angle : " +str(round(a1-a0, 3))+
|
|
" rad - cabine_vitesse : " +str(round(cabine_vitesse, 3))+" mm/s - moteur_vitesse : " +str(round(mot_vitesse, 3))+
|
|
" rad/s - cabine_pas : " +str(round(cabine_pas, 3))+" mm/impulsion - moteur_pas : " +str(round(mot_pas, 3))+" rad/impulsion")
|
|
print ("")
|
|
|
|
# Descendre
|
|
mot_digitset () # 5 tr/s
|
|
t0,z0, a0= get('t'), get('cabine_z'), get('mot_angle')
|
|
print ("Début descendre : cabine_z : "+str(round(z0, 3)) + " - mot_angle : " + str(round(a0, 3)))
|
|
while pc_0() ==False :
|
|
voy_0(True)
|
|
mot_m(False)
|
|
mot_d(True)
|
|
mot_pas, mot_vitesse, cabine_pas, cabine_vitesse= get('mot_pas'), get('mot_vitesse'), get('cabine_pas'), get('cabine_vitesse')
|
|
mot_d(False)
|
|
voy_0(False)
|
|
t1,z1, a1= get('t'), get('cabine_z'), get('mot_angle')
|
|
print ("Fin descendre : cabine_z : "+str(round(z1, 3)) + " - mot_angle : " + str(round(a1, 3)))
|
|
print ("")
|
|
print ("Descendre : "+str(round(t1-t0, 3)) +" s - distance : " +str(round(z1-z0, 3))+" mm - angle : " +str(round(a1-a0, 3))+
|
|
" rad - cabine_vitesse : " +str(round(cabine_vitesse, 3))+" mm/s - moteur_vitesse : " +str(round(mot_vitesse, 3))+
|
|
" rad/s - cabine_pas : " +str(round(cabine_pas, 3))+" mm/impulsion - moteur_pas : " +str(round(mot_pas, 3))+" rad/impulsion")
|
|
|
|
|
|
###############################################################################
|
|
# En: External call << DONT CHANGE THIS SECTION >>
|
|
# Fr: Appel externe << NE PAS MODIFIER CETTE SECTION >>
|
|
###############################################################################
|
|
|
|
def cycle():
|
|
commandes()
|
|
fin()
|
|
|
|
if __name__=='start':
|
|
start(cycle)
|
|
if __name__=='stop':
|
|
stop()
|