mirror of
https://forge.apps.education.fr/blender-edutech/jumeaux-numeriques.git
synced 2024-01-27 06:56:18 +01:00
81 lines
3.3 KiB
Markdown
81 lines
3.3 KiB
Markdown
# 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](http://www.phroy.org/cloud/index.php/s/JnDeFXRRqQ9abZc).
|
|
|
|
## 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'.
|