jumeaux-numeriques/monte_charge
2023-02-08 10:21:25 +01:00
..
asset Ajout des liens vers les assets 2023-01-01 20:29:35 +01:00
AUTHORS.md AUTHORS update 2022-12-20 17:07:47 +01:00
CC-BY-NC-SA-4.0.txt Ajout des liens vers le site A4 technologie 2022-12-10 19:04:32 +01:00
montchg_cmd-bak.py Coquille dans commentaire 2023-02-08 10:21:25 +01:00
montchg_cmd.py Ajout des modes d'activation des entrées et des sorties pour le monte-charge et le volet 2023-02-03 05:58:20 +01:00
montchg_doc.py Bugfix : Erreur suite aux changement de format du dictionnaire des variables publiques 2023-02-03 10:27:45 +01:00
montchg_lib.py Ajout des modes d'activation des entrées et des sorties pour le monte-charge et le volet 2023-02-03 05:58:20 +01:00
montchg.py Ajout des modes d'activation des entrées et des sorties pour le monte-charge et le volet 2023-02-03 05:58:20 +01:00
monte_charge-4.blend Ajout de la page Crédits 2023-02-04 13:28:28 +01:00
monte_charge-5.blend Ajout de la page Crédits 2023-02-04 13:28:28 +01:00
monte_charge.bat Ajout des bat pour Windows 2022-12-11 09:57:43 +01:00
monte_charge.sh Ajout des scripts shell 2023-01-29 03:35:23 +01:00
README.md Readme update 2023-02-04 21:26:37 +01:00
twin_about.py Création du jumeau numérique du monte-charge 2022-12-18 17:33:23 +01:00
twin_config.xml Création du jumeau numérique du monte-charge 2022-12-18 17:33:23 +01:00
twin_daq.py Génération de fichier de données CSV suite 2023-01-21 06:56:54 +01:00
twin_doc.py Création du jumeau numérique du monte-charge 2022-12-18 17:33:23 +01:00
twin_file_qt.py Ajout de la selection du fichier de commandes (point d'étape) 2023-01-27 21:26:33 +01:00
twin_file_wx.py Factorisation de la création des plots 2023-01-31 11:15:21 +01:00
twin_plot_qt.py Communication entre Blender et Qt5 (point d'étape) 2023-01-15 16:56:46 +01:00
twin_plot_wx.py Factorisation de la création des plots 2023-01-31 11:15:21 +01:00
twin_plot.py Factorisation de la création des plots 2023-01-31 11:15:21 +01:00
twin_serial.py Gestion de la liaison série factorisée 2022-12-23 23:29:17 +01:00
twin_threading.py Gestion des threads factorisée + moteur physique du volet roulant 2022-12-23 14:30:13 +01:00
twin.py Création du jumeau numérique du monte-charge 2022-12-18 17:33:23 +01:00

Jumeau numérique d'un monte-charge

Ce jumeau numérique permet la programmation en Python d'une maquette réelle d'un monte-charge.

Maquette numérique

Le modèle 3D est basé sur la maquette développée par l'entreprise A4 technologie. Les documents techniques et pédagogiques signés A4 Technologie sont diffusés librement sous licence Creative Commons BY-NC-SA.

Site internet de la maquette A4 Technologie : https://www.a4.fr/wiki/index.php?title=Monte_charge_(BE-MCHA)

Téléchargement

Les binaires (Game Engine Runtime) sont hébergés sur phroy.org.

Instructions

Le script Python qui permet la commande du monte-charge est le fichier 'montchg_cmd.py'. Il est éditable avec tout éditeur (Spyder, Emacs, Atom, ...).

Actions

Les actions (ordre = True ou False) sont :

  • Monter la cabine (moteur sens trigo) : mot_m(True | False)
  • Descendre la cabine (moteur sens horaire) : mot_d(True | False)

Capteurs

Les compte-rendus (valeur retournée = True ou False) des capteurs sont :

  • Capteur présence cabine niveau 0 : pc_0()
  • Capteur présence cabine niveau 1 : pc_1()

Pupitre

Les consignes (valeur retournée = True ou False) du pupitre sont :

  • Bouton poussoir d'appel niveau 0 : ba_0()
  • Bouton poussoir d'appel niveau 1: ba_1()

Les retours d'information (allumer = True ou False) du pupitre sont :

  • Voyant témoin d'appel pour le niveau 0 : voy_0(True | False)
  • Voyant témoin d'appel pour le niveau 1 : voy_1(True | False)

Gestion du temps

Les temporisations : tempo(duree) avec la durée en seconde

Gestion du temps

  • Temporisation : tempo(duree) avec la durée en seconde.
  • Réinitialiser la valeur du temps : reset_t().
  • Obtenir la valeur du temps en seconde depuis le démarrage du cycle : get_t().
  • Définir la valeur (x) du temps en seconde : set_t(x).

Accès aux données

  • Retourne la valeur de la variable à \n l'instant : get(variable).
  • Enregistre les données et génére un fichier de données CSV à l'arrêt du cycle : daq([variables]).
  • Affiche, à l'arrêt du cycle, le chronogramme des données enregristrées : plot([variables]).

Variables publiques :

  • Entrées/sorties : 'ba_0', 'ba_1', 'pc_0', 'pc_1', 'mot_m', 'mot_d', 'voy_0' et 'voy_1'.
  • Variables réels (si il y a jumelage) : 'ba_0_r', 'ba_1_r', 'pc_0_r' et 'pc_1_r'.
  • Autres variables : 't' (temps), 'mot_angle', 'mot_vitesse' et 'cabine_z'.

Jumelage

  • Démarrer le jumelage : jumeau(brochage).
  • Arrêter le jumelage : jumeau_stop().
  • Définit les modes d'activation des entrées/sorties (True ou False) : jumeau_mode(entrées réelles, entrées numériques, sorties réelles, sorties numériques).

Brochage

Le brochage est un dictionnaire qui permet d'associer les objets 3D du jumeau numérique aux broches du jumeau réel.

Son format est le suivant : brochage = { nom:[type, broche, mode] } :

  • nom : nom de l'objet 3D du jumeau numérique,
  • type : a (analogique) ou d (binaire),
  • broche : numéro de la broche de carte (Arduino, ...),
  • mode : i (entrée), o (sortie) ou p (pwm).

Objets 3D du jumeau numérique :

  • Entrées/sorties : 'ba_0', 'ba_1', 'pc_0', 'pc_1', 'mot_m', 'mot_d', 'voy_0' et 'voy_1'.