---
description: >-
  Bien débuter, installation de python, des modules et de la librairie. Lien de
  la librairie :
  https://github.com/elc-construction-electronique/Librairie-Python-ALR32XX
---

# Installation de la librairie

#### &#x20;Installation de Python

Python est disponible gratuitement et téléchargeable sur ce site [https://www.python.org/downloads/](https://www.python.org/downloads/). Nous vous conseillons de télécharger la dernière version de Python disponible pour une meilleure compatibilité avec nos modules.&#x20;

![](https://3093554802-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Mk6VnTs-J9312_UKt_v%2F-Mk7DF8ADPd_jsQnpykv%2F-Mk7EkHIaFjzc7c9YEvB%2FPython.png?alt=media\&token=b259ea02-936c-4c1a-ab02-85055c6c6e48)

Suivez ensuite le programme d'installation classique.&#x20;



#### Installation des modules nécessaires

Notre module ALR32XX utilise des librairies Python déjà existante, une partie est incluse dans l'installation de Python mais un module nécessite une installation supplémentaire, celui-ci se nomme _PySerial_. Vous trouverez un tutoriel pour l'installation de Python et du module via ce lien : [https://www.framboise314.fr/installer-python-et-pyserial-sur-windows/](https://www.framboise314.fr/installer-python-et-pyserial-sur-windows/).

Il est aussi possible de télécharger le module _PySerial_ via l'utilitaire _Pip_ par la commande "pip install pyserial". Suivez ce lien pour plus de détail : [https://pythonhosted.org/pyserial/pyserial.html](https://pythonhosted.org/pyserial/pyserial.html)



#### Installation de la bibliothèque ALR32XX

Une fois Python et le module supplémentaire téléchargé, vous pouvez télécharger notre librairie ALR32XX via notre [github](https://github.com/elc-construction-electronique) : [https://github.com/elc-construction-electronique/Librairie-Python-ALR32XX](https://github.com/elc-construction-electronique/Librairie-Python-ALR32XX).&#x20;

Dans ce dossier vous trouverez :

* La librairie **ALR32XX.py** : programme principal permettant de communiquer avec les alimentations
* Un dossier Exemples.
* Un dossier Documentation avec les notices des alimentations et une liste des fonctions de la classe.&#x20;



Il est aussi possible de télécharger notre librairie via l'utilitaire _pip_ de [PyPI](https://pypi.org/project/ALR32XX/) par la commande : pip install ALR32XX.&#x20;

Vous pouvez trouver des renseignements et la version de la librairie par la commande "pip show ALR32XX" et, si besoin, la mettre à jour par "pip install ALR32XX --upgrade".

Voici un exemple de cette manipulation :

```python

>pip install ALR32XX
  Collecting ALR32XX
  Downloading ALR32XX-1.0-py3-none-any.whl (9.4 kB)
  Installing collected packages: ALR32XX
  Successfully installed ALR32XX-1.0

>pip show ALR32XX
  Name: ALR32XX
  Version: 1.0
  Summary: "Ce module permet de commander les alimentations programmables ALR32XX d'elc par la liaison série"
  Home-page: https://github.com/elc-construction-electronique/Librairie-Python-ALR32XX
  Author: elc-construction-electronique
  Author-email: be@elc.fr
  License: UNKNOWN
  Location: ~\python\python38-32\lib\site-packages
  Requires:
  Required-by:

>pip install ALR32XX --upgrade
  Requirement already satisfied: ALR32XX in ~\python\python38-32\lib\site-packages (1.0)


```





Le fichier qui nous intéresse est _**ALR32XX.py**_, il contient les fonctions pour contrôler les alimentations.&#x20;

La commande pour l'inclure dans votre script est &#x20;

```python
from ALR32XX import *           #si vous utilisez le script ALR32XX.py
from ALR32XX.ALR32XX import *   #si vous installez la librairie par le pip
```

{% hint style="info" %}
Si le script ne se trouve pas dans le même dossier que le module ALR32XX, utilisez la librairie _sys_ comme présenté dans l'exemple 1.&#x20;
{% endhint %}



#### Connexion à l'alimentation

Il est maintenant temps de brancher l'alimentation à l'ordinateur par une connexion USB, RS232 ou RS485. Le gestionnaire de périphérique affiche la connexion sur un des ports COM et l'alimentation affiche une connexion USB ou REM :&#x20;

![](https://3093554802-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Mk6VnTs-J9312_UKt_v%2F-Mk7K_Ef-rTyrC2thCDf%2F-Mk7NYkZiQkDSG9w5gpp%2Fimage.png?alt=media\&token=d3fe6748-5709-4e6b-8346-05ca520028c5)

![](https://3093554802-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Mk6VnTs-J9312_UKt_v%2F-Mk7e0OhGTYaZuJ3Pw95%2F-Mk7e4yRDGrfR644cWLP%2Fusb.png?alt=media\&token=399cfbe3-05ca-4c71-831a-4c16a0f84bf6)

Pour initialiser la communication avec l'alimentation, créez une variable pour votre alimentation comme ci-dessous :

```python
X=ALR32XX('ALR3206T')
```

Le programme va alors tenter une connexion automatique en envoyant un message à chaque port COM actif et si il trouve celui correspondant à l'alimentation il commencera une liaison série et vous indiquera le détail :

![](https://3093554802-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Mk6VnTs-J9312_UKt_v%2F-Mk7K_Ef-rTyrC2thCDf%2F-Mk7QIr3zkBq161ILdef%2Fimage.png?alt=media\&token=931d2e1e-816e-419a-8e12-57f0cbf0374b)

Si la tentative de connexion automatique échoue, il vous sera demandé de connecter l'alimentation manuellement par la fonction Choix\_port(). Cette fonction va lister vos ports actifs et vous demandera d'entrer le numéro de celui qu'il faut connecter :

![](https://3093554802-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Mk6VnTs-J9312_UKt_v%2F-Mk7K_Ef-rTyrC2thCDf%2F-Mk7SLTkIowHFe5lITm7%2Fimage.png?alt=media\&token=a91c424d-14ff-4359-bfa6-251c0a6cadc1)

Une fois la connexion réussie, vous pouvez utiliser les fonctions de la librairie pour contrôler l'alimentation. Le développement du module ALR32XX étant sous forme de classe, la syntaxe d'utilisation est sous la forme variable.fonction(paramètre), par exemple pour mesurer la tension de la voie 1 :

```python
X.Mesure_tension(1)
```



#### Liste des fonctions disponibles

Voici la liste des fonctions disponibles via la librairie ALR32XX avec une courte explication.&#x20;

* List\_ports() : affiche les ports COM actifs
* Choix\_port() : procédure pour connecter l'alimentation manuellement. Affichage des ports actifs et sélection du port voulu.
* Deconnexion() : stopper la communication série avec l'alimentation.
* IDN() : lecture de l'identité de l'alimentation, retourne le nom de l'alimentation et sa version.
* send\_command(**commande**) : fonction basique pour envoyer n'importe quel message à l'alimentation. La fonction retourne la réponse de l'alimentation.



* Ecrire\_tension(**valeur**=0, **voie**=1) : écrire une consigne en tension sur la voie sélectionnée entre 1 et 3. La valeur en Volt (V) évoluant suivant les paramètres de l'alimentation.
* Ecrire\_courant(**valeur**=0, **voie**=1) : écrire une consigne en courant sur la voie sélectionnée entre 1 et 2. La valeur en Ampères (A) évoluant suivant les paramètres de l'alimentation.
* Mesure\_tension(**voie**=1) : mesurer la tension sur la voie sélectionnée entre 1 et 2 (pour les modèles à plusieurs voies).&#x20;
* Mesure\_courant (**voie**=1) : mesurer le courant sur la voie sélectionnée entre 1 et 3 (pour les modèles à plusieurs voies).
* Consigne\_tension (**voie**=1) : lire la consigne en tension sur la voie sélectionnée entre 1 et 3 (pour les modèles à plusieurs voies).&#x20;
* Consigne\_courant (**voie**=1) : lire la consigne en courant sur la voie sélectionnée entre 1 et 2 (pour les modèles à plusieurs voies).&#x20;



* OUT(**mode**=’ ‘, **voie**=1) : Connecter ou non les bornes de sorties, mode=**ON** ou **OFF** (ou 0 ou 1) et voie=1 à 3.&#x20;
* MODE(**mode**=’NORMAL‘) : modification du couplage de sortie entre **NORMAL**, **SERIE**, **PARALLELE** et **TRACKING**.
* TRACK(**mode**=’ISOLE’) : active le mode de tracking entre **ISOLE** ou **COUPLE**.&#x20;
* OVP(**valeur**=0, **voie**=1) : écrire une valeur d'OCP (Over Voltage Protection) sur la voie sélectionnée entre 1 et 2.
* OCP(**valeur**=0, **voie**=1) : écrire une valeur d'OCP (Over Current Protection) sur la voie sélectionnée entre 1 et 2.
* OVP\_OCP(**paramètre**='OVP', **voie**=1) : lire les valeurs d'**OCP** ou d'**OVP** suivant la voie sélectionnée entre 1 et 2.
* Read\_state\_ALR(**paramètre**=’OUT’) : lecture du paramètre sélectionné parmis OUT (état de la sortie), REM (mode local ou remote), TRACK (mode tracking isolé ou couplé), MODE (mode série ou parallèle).
* Remote(**mode**=’REMOTE’) : modification du mode de communication entre **LOCAL** et **REMOTE**.
* STO(**case\_memoire**) : enregistrer la configuration actuelle dans une case mémoire entre 1 et 15.&#x20;
* RCL(**case\_memoire**) : rappeler la configuration actuelle d'une case mémoire entre 1 et 15.&#x20;



Cette liste de fonctions est détaillée dans le dossier "Documentation" de la librairie.&#x20;

{% hint style="info" %}
Notez que ces fonctions sont données pour toute la gamme d'alimentation programmable. Toutes ses alimentations n'ayant pas les mêmes caractéristiques, certains paramètres peuvent être incompatibles.&#x20;

ex : demander une tension CH3 sur une ALR3203 ne fonctionnera pas car celle-ci ne possède qu'une voie.&#x20;
{% endhint %}

&#x20;

### En cas de problème lors de l'utilisation de la librairie, veuillez nous contacter à [commercial@elc.fr](mailto:%20commercial@elc.fr) ou au +33 4 50 57 30 46.

![](https://3093554802-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Mk6VnTs-J9312_UKt_v%2F-MlP2tJMeq9MGfUIa97_%2F-MlP3i6Oi7C5NYNop-_V%2FALR32XX.png?alt=media\&token=5b7939f4-1ccb-4138-b7c1-b07c89bf35ab)
