Sommaire


Vous êtes dans l’aide du programme PElectro.


Introduction :


PElectro existe depuis l’année 2002 et n’a pas cessé d’évoluer, par exemple, par son nombre de composants et par son ergonomie. La version 2008 a marqué un tournant, en effet, à partir de cette version toutes personnes disposant d’un compilateur de langage qui autorise la fabrication de DLL et des connaissances en électronique (composants, instruments, logiciels, etc..) pourront contribuer à augmenter les possibilités de PElectro. Rémy LUCAS a participé et a fourni des informations pour réaliser une interface entre PElectro et son logiciel CiDess (dessin de circuit électronique). D’autres participants pourraient ainsi agrandir les fonctions de PElectro. Une autre remarque vient du mode de mise à jour de PElectro, grâce à un chargement automatique des nouveautés, il n’est plus nécessaire de consulter les sites internet pour avoir les dernières améliorations, composants etc… en cas de refus par l’utilisateur des mises à jour celles-ci peuvent être suspendues par une case à cocher au moment du téléchargement.

La reprise des anciens formats de PElectro est possible. La conversion, si elle est réalisable, se fait automatiquement.



L’interface Principale


Voici la présentation de l’interface graphique de PElectro :



L’interface principale est composée d’une barre de menu en haut,

La sélection des composants et de leurs valeurs à gauche,

La surface de dessin du circuit électronique au centre,

Des instruments en haut à droite,

De contrôles au milieu à droite,

Et de la liste des schémas (en bas à droite) qui représente toutes les versions des schémas Elc et Elp figurant dans le répertoire PElectro de l’utilisateur.


Le menu se trouve en haut de l’interface, il se compose des rubriques suivantes:

Fichier”, qui permet l’ouverture, la sauvegarde, la suppression, l’impression du circuit ainsi que la sortie du programme.

Edition”, qui permet de défaire ou de refaire une action sur la surface du circuit. Ainsi que couper, copier et coller.

Rechercher”, pour rechercher un composant qui pourrait se trouver dans PElectro. La touche ‘F3’ du clavier permet de passer au composant suivant.

Langue”, les langues disponibles dans l’application PElectro.

Paramètres”, qui regroupe les paramètres du programme et les options du circuit.

Bureau“, qui permet de modifier, supprimer et d’enregistrer les fichiers bureau.

Plugins”, regroupe les programmes utilisables directement depuis le menu.

Fenêtres“, qui permet d’organiser et de sélectionner les fenêtres de l’interface.

?”, La rubrique d’aide sur laquelle vous êtes actuellement, le numéro de version du programme et le lancement d’un exécutable.


L’appui sur la touche F1, dans une fenêtre lancée par le menu de PElectro, permet d’obtenir l’aide de celle-ci.

L'appui sur la touche F2 donne l'aide de l'interface principale.



La fenêtre des schémas


La liste des schémas est établie au 1er lancement de PElectro. La liste peut intégrer les clés USB, Les chemins réseaux, etc.

La fenêtre de recherche est la suivante.




La liste donne tous les schémas présents dans le répertoire « Mes Documents/PElectro » de la bibliothèque du PC.

La liste du répertoire PElectro peut être reconstituée à tout moment avec le menu fichier, 'initialiser schémas'. Il existe deux listes, l'une comporte les schémas « .Elc » dont l'analyse est non linéaire et l'autre les schémas linéaires « .Elp ». Une zone texte permet, en haut à droite de la fenêtre liste des schémas, de rechercher le nom d'un schéma dans la liste. La touche tabulation (« TAB ») permet de passer au nom suivant.



Ajout d’un composant sur le circuit



La sélection des composants s’effectue en 2 étapes.

Premièrement, en cliquant sur le composant dans la fenêtre « composants ». Ici la masse a été sélectionnée (remarque la masse est sélectionnée par défaut).

Deuxièmement, en cliquant gauche sur la surface du circuit qui se trouve au centre de l’interface.


Pour modifier les valeurs du composant, si cela est autorisé par le concepteur du composant, il suffit d’introduire les nouvelles valeurs dans les champs de la fenêtre ci-dessous. Elle se trouve en bas à gauche dans l’interface. La validation des valeurs s’effectue en cliquant à nouveau sur le composant.




Changement de référence d’un composant


Le changement de référence si celui-ci est autorisé par le concepteur de DLL s’effectue simplement en maintenant à la fois la touche Ctrl et le clic gauche sur le nouveau composant de la même bibliothèque.

Exemple :

La référence de transistor 2N1711 pourra être remplacée par la référence 2N2222 car tous les deux sont des transistors et ils sont aussi de même type (NPN).


Ajout d’un instrument sur le circuit


La sélection d’un instrument s’effectue en tenant/déposant sur le circuit.

Il faut choisir l’instrument (fenêtre ci-dessous, en haut à droite de l’interface) en cliquant gauche et en tenant enfoncé le bouton de la souris puis en déposant à l’endroit désiré sur le circuit (milieu de l’interface).



Sélection d’un composant ou d’un instrument sur le circuit


Il suffit de cliquer gauche sur l’icône du composant ou de l’instrument sur le circuit.


Sélection d’une action d’un composant ou d’un instrument sur le circuit


Pour sélectionner une action d’un composant ou un instrument, Il faut cliquer droit sur son icône dans le circuit. Attention dans la suite du texte si le mot instrument n’est pas précisé, le mot « composant » signifie aussi bien les composants que les instruments.

Remarque : Lors d’une sélection, les actions de la sélection doivent toujours s'effectuer en cliquant droit sur un des composants de la sélection. Le menu popup peut alors apparaître.



Les actions suivantes peuvent être disponibles en fonction du concepteur du composant et du contexte :

-Ouvrir, lance l’ouverture de l'instrument (en haut à droit de l’interface).

-Déplacer, permet de déplacer un composant de l’emplacement actuel vers un nouvel emplacement en cliquant sur le bouton gauche de la souris au nouvel emplacement. Si un composant est trop proche de l’endroit de destination, alors le déplacement ne se produit pas.

-Rotation droite ou gauche provoque le pivotement de l’icône ainsi que de ses bornes en fonction de la rotation demandée.

-L’inversion, provoque l’inversion de l’icône du composant.

-Pour relier un composant à un autre, il faut au préalable cliquer droit sur une borne verte du composant à relier. Utiliser le menu “Relier”, puis se positionner sur la borne du composant “destinataire”. Le curseur change de forme lors du passage sur une borne valide. Le chemin de liaison (routage) est automatique.

-Délier, provoque la suppression du lien de la borne considérée.

-Délier composant, provoque la suppression de tous les liens entre le composant sélectionné et ceux en relation.

-Texte au centre, provoque la mise au centre du libellé du composant.

-Texte sur la droite, provoque la mise à droite du libellé par rapport au composant (par défaut).

-Texte dessous, provoque la mise en dessous du libellé du composant.

-Décaler le texte, provoque la mise en dessous et à droite du libellé.

-Supprimer, supprime le composant et ses liens.

-Quitter, permet de sortir du menu sans faire d’action.


Remarques générales


Une masse minimum est nécessaire. Si un circuit est isolé, il faut prévoir de relier la masse au circuit isolé. Par exemple avec un transformateur, il y a un circuit isolé dont-t-il faut prévoir une masse pour que les calculs puissent s’effectuer.


En utilisant la touche Ctrl et le clic gauche sur un élément de la liste des composants, vous pouvez changer de référence de composant du moment que celle-ci est compatible avec l’originale (exemple transistor NPN).

Pour supprimer ou activer les infos bulles, il faut appuyer en même temps sur la touche shift (majuscule) et la touche ‘I’.


Fenêtre contrôles


Cette fenêtre comporte quelques indicateurs sur le fonctionnement du circuit. Elle est représentée ci-dessous.





X et Y précisent l’emplacement en cours de la souris sur la surface du circuit en pixels par défaut, en mil ou en cm (voir aide CiDess).

Le bouton rotatif permet de sélectionner pour l’ensemble du circuit le temps par division utilisé dans les calculs. Sous la LED se trouve le nombre de secondes qui correspond au bouton rotatif.

La LED s’éclaire lorsqu'un instrument utilise ce bouton rotatif.

La zone texte qui se trouve sous ces contrôles peut afficher les messages envoyés par les différents éléments de PElectro (par exemple les instruments). Cette zone est contrôlée par le paramètre ‘Activer le journal des instruments’ du menu paramètres, options générales.


Rechercher une référence de composants


Pour rechercher une référence de composants dans la liste de composants, il faut sélectionner le menu « Rechercher-> Référence composants » dans le menu principal de PElectro. La fenêtre suivante apparaît.




Dans la zone de saisie, introduire la référence à chercher.

Cliquer sur le bouton “Rechercher”, pour rechercher un composant qui pourrait se trouver dans PElectro.

La touche ‘F3’ du clavier permet de passer au suivant si plusieurs composants sont fonctions du critère de recherche.


Fenêtre Options Générales


La fenêtre ‘Options Générales’ est obtenue en utilisant le menu ‘Paramètres’ puis ‘Options Générales’.

Les informations figurant dans cette fenêtre proviennent directement de la base de registre de l’application d’électronique ‘PElectro’. Il est mauvais, pour le bon fonctionnement de l’application, de modifier le registre directement, surtout que toutes les options générales sont modifiables soit dans cette fenêtre, soit dans le déroulement normal de l’application. La description des options est indiquée ci-dessous.


Dans la liste tout en haut de la fenêtre s’affichent les applications dont les paramètres sont rendus disponibles par les concepteurs de DLL.

Réinitialisation’ permet de remettre les paramètres par défaut de cette page.

Automatique’ est un indicateur qui peut être utilisé différemment suivant les concepteurs de DLL (La valeur du paramètre prend comme valeur 1 si coché, sinon 0).

Charger en’ indique le répertoire où sont utilisés les schémas des circuits électroniques. Celui-ci change automatiquement en fonction des boîtes de dialogues d’accès aux fichiers (par exemple à l’ouverture d’un schéma). Cette information ne peut être modifiée par cet écran.

Police d’imprimante’ permet de modifier la ‘fonte’ des caractères lors de l’impression.

Sélection imprimante’ permet de sélectionner l’imprimante qui sera utilisée lors des impressions (exemple impression des composants d’un circuit).

Nbre d’itérations maximales / point’, signifie que pour tout point le calcul échouera si les équations ne sont pas résolues au bout du nombre d’itérations demandé. Cette valeur ne peut être inférieure à 30 et supérieure à 9999. Il est préférable de ne pas modifier cette valeur.

Le nombre de points maximum calculable à un moment donné est paramétrable par la réglette à droite de l’affichage. Il va de 32 points à 16384 points. Plus le nombre maximum de points est élevé, plus le temps de calcul est important. A tout moment, le programme adapte le nombre de points nécessaires aux calculs des équations. Si le nombre de points maximum est insuffisant, alors le calcul est interrompu.

Précision équations’ permet de choisir la précision qui sera nécessaire à la solution des équations du circuit.

Le ‘Sens du courant’ peut être réel ou conventionnel. S’il est ‘réel’ le courant va du potentiel négatif au positif. S’il est ‘conventionnel’ le courant va du potentiel positif vers le négatif.

Grille’ comporte les éléments qui sont par défaut cochés. L’utilisateur peut évidemment les décochés. Elle comporte les choix suivants :

-‘Magnétique’, pour que les composants se placent suivant la grille si les indicateurs visible et magnétique sont cochés.

-‘Visible’ si coché, la grille est visible.

-‘Forme +/.’ qui donne le type de caractère qui sera utilisé par la grille, caractère ‘+’ (non coché) ou ‘.’.

-‘Pas 8/16’ qui précise le pas de la grille en pixels. ‘16’ si coché.

-‘Couleur piste/texte’ si coché c’est la couleur du texte de la fenêtre ‘Circuit’ qui sera prise pour la grille. Sinon, la couleur des pistes sera utilisée.

Activer le journal des instruments’ il est possible d’afficher tous les messages des instruments. Ceux-ci apparaissent dans le fichier LOG de PElectro ainsi que dans la fenêtre des Contrôles (milieu-droit de l’interface).

Couleur transparente’ permet de modifier la couleur de transparence de l’application.

Dim. Piste/Ecart’, permet de sélectionner la taille des pistes ainsi que la distance minimum entre deux pistes. ‘Couleur pistes’ permet de choisir la couleur représentant les pistes sur le circuit ainsi que le contour des pattes des composants.

'Masquer les libellés’, supprime les libellés des composants comme par exemple le libellé ‘Std1’ sur le schéma du circuit.

Dernier schéma’ affiche au lancement de PElectro le dernier schéma enregistré par l’application.

Infos Bulles’, permet de visualiser, sur la fenêtre schémas le chemin ainsi que des infos sur le schéma et sur les composants. Le groupe de touches shift+i supprime ou rétablit cette fonction (la fenêtre circuit doit avoir le focus).

Chemin Exe :’ et ‘Exécutable’ permettent de lancer une application quelconque depuis ‘PElectro’.

Coordonnées des outils de dessin’ permet de choisir le lieu sur l’écran où seront affichées les outils de dessin des instruments.

Paramètres des fenêtres’ qui autorise la modification des couleurs de fond et de textes des fenêtres qui se trouvent dans la ComboBox. Pour la fenêtre Schémas il est possible de définir une couleur pour les fichiers PElectro. La couleur rouge est utilisée pour les fichiers qui sont absents ou dont la version est postérieure à la version en cours.

'Valeur du zoom' La valeur du zoom du schéma du circuit peut être saisie dans ce champ. Cette valeur sera celle prise par défaut dans l'affichage du schéma. Une valeur temporaire valable pendant la durée d'exécution de l'application PElectro peut être choisie dans le menu « Paramètres » de l'application.

'Nombre de documents récents' permet de choisir le nombre de documents récents qui seront accessibles via le menu « fichier » de l'application PElectro.


Le Bouton ‘Valider’ permet de prendre en compte les modifications et de sortir de cette fenêtre.


Fenêtre Options du Ci




L’accès à cette fenêtre s’effectue par le menu 'paramètres'.


Il est ici possible de modifier la température ambiante du circuit électronique.

La date de création du circuit est définie au moment de l’enregistrement du circuit.

L’annotation permet de retrouver le circuit dans la fenêtre ‘Ouvrir’ qui est décrite plus loin. En effet, ce libellé est spécifié dans le haut de la fenêtre ‘Ouvrir’.

Les informations sont reprises dans les info-bulles lorsque l’on passe sur le nom d’un schéma dans la fenêtre schémas de l’interface principale de PElectro.

La largeur et la hauteur du circuit peuvent être définies dans cette fenêtre.

La mise en page peut être obtenue avec le format papier et l'orientation du schéma sur le circuit.


Toutes ces valeurs ne sont valables que pour le circuit en cours.


Fenêtre Bureau


Il est possible de sauvegarder le bureau en cours par le menu ‘Bureau->Actions’ suivi de ‘Enregistrer’. Il faut alors saisir un nom puis cliquer sur ‘Valider’.



L’enregistrement sauvegarde l’emplacement des fenêtres ainsi que leurs couleurs et la grille. Si une modification intervient sur les couleurs, sur la grille ou sur les fenêtres, sans enregistrement du bureau, lors du prochain lancement de l’application, ces modifications seront perdues. Pour prendre en compte les modifications, il suffit d’enregistrer le bureau.

A la première utilisation de l’application, le bureau ‘Defaut.bur’ est créé en fonction des dimensions de l’écran.

En cas de suppression d’un bureau en cours d’utilisation, Le bureau ‘Defaut.bur’ est rechargé automatiquement. S’il n’existe pas, l’application s’affiche comme s’il s’agissait de la première utilisation.

Pour le bureau ‘Defaut.bur’ seule la position des fenêtres est enregistrée.


Les modifications suivantes de couleurs sont réutilisées au démarrage.

Les nouvelles couleurs d’une fenêtre sont effectives, soit au démarrage de l’application, soit en cliquant sur une autre fenêtre puis en revenant sur la fenêtre de départ.


Fenêtre Ouvrir du menu fichier



-La première partie donne la position du répertoire où se trouvent les schémas (répertoire PElectro\Layout).

-La seconde partie permet de sélectionner le fichier.

-La troisième partie affiche le schéma si celui-ci est disponible ainsi que les informations saisies par l’utilisateur.


Annuler’ annule l’ouverture.

Ouvrir’ ouvre le schéma.

Suppression d’un schéma électronique’ permet de supprimer un schéma.







Sommaire


Pour le paramétrage de PELECTRO avec CIDESS il faut passer par le menu Paramètres->Options générales de l’application PELECTRO. Puis sélectionner Paramètres CiDess dans la liste déroulante (Figure 1).

Figure 1



La fenêtre des paramètres CIDESS s’affiche.


Fenêtre Paramètres CiDess


Figure 2


L’application CIDESS doit se trouver sur votre ordinateur, sinon télécharger et installer CIDESS depuis le site de l’auteur M. Rémy LUCAS.

Si le chemin en haut de la fenêtre n'est pas renseigné, il faut rechercher le fichier CiDess.dat dans le répertoire applicatif de CIDESS avec le bouton « parcourir ». Ce chemin est utilisé par l’ensemble des fenêtres de la DLL CIDESS dans PELECTRO. Si le chemin n’est pas valide, les fonctionnalités de CIDESS dans PELECTRO ne seront pas disponibles.


Les composants PELECTRO sont à gauche et les catégories de CIDESS sont à droite de la fenêtre.


Sur la gauche, un arbre permet de se déplacer sur les composants PELECTRO. Pour ouvrir ou fermer une branche, il faut cliquer sur le + ou le - de la banche.

C’est au niveau des composants PELECTRO qu’il sera possible de mettre les catégories de CIDESS (ici par exemple sous l'ampli opérationnel LM741). La mise à jour des composants de PELECTRO se faire par glissé/déposé à partir des catégories de CIDESS (exemple: Radial caps). Le composant LM741 de type amplificateur opérationnel a reçu les catégories ‘I.C. DIL 300 std’ à ‘I.C. DIL 900’.

Il est possible de supprimer une catégorie CIDESS attribuée à un composant PELECTRO en la sélectionnant puis en appuyant sur le bouton Supprimer.

Pour choisir le pas du circuit, il faut cliquer sur la case à cocher Pixels (mode par défaut), mil (utilisé par CIDESS) ou cm. Le pas est aussi utilisé pour l'affichage du schéma du circuit dans la fenêtre principale de l’application PELECTRO.

Pour sortir de la fenêtre il faut cliquer sur le bouton valider.



Sommaire


Pour rattacher les composants PELECTRO à CIDESS il faut :


Figure 1



Fenêtre Composants CiDess


Dans le haut gauche de la fenêtre se trouvent les composants CIDESS qui peuvent être utilisés. Il faut sélectionner le composant qui correspond le mieux à l’implantation qui est désirée. Un exemple est donné dans la figure 2.


Figure 1


Dans le bas gauche se trouvent les options du programme CIDESS (voir les indications fournies sur le site de l’auteur M. Lucas).

Sur la partie droite figurent en haut le composant CiDESS et en bas le composant PELECTRO.

La sortir de cette fenêtre se fait par le bouton valider.



Sommaire


Pour générer le circuit PELECTRO dans CIDESS il faut passer par le menu ‘Plugins’ et choisir « Make Cidess » (la fenêtre ci-dessous s’affiche).


Fenêtre Make CiDess


Figure 1


-La distance entre pistes est donnée en mil.


-Si la case Circuit double faces est cochée, le circuit sera généré soit en simple face soit en double face. Dans le cas où le nombre de faces n’est pas suffisant les pistes en anomalies sont indiquées dans la fenêtre contrôle de l’application PELECTRO. Elles figurent également dans le fichier log de PELECTRO. C’est à l’utilisateur de CIDESS de rajouter les pistes manquantes. D’autre-part, Les composants PELECTRO non rattachés à CIDESS n’apparaissent pas.


-Si la case « Composants uniquement » est cochée, seule l’implantation des composants est obtenue, les pistes n’apparaissent pas. Dans ce cas, c’est l’utilisateur qui doit effectuer les liaisons avec l’application CIDESS.


-Si la case « Lancer CiDess après le bouton Enregistrer » est cochée, l’application CIDESS est lancée automatiquement (à partir de la version CIDESS 3 et ultérieure) avec le circuit généré. Autrement, il faut ouvrir manuellement le circuit avec le logiciel CIDESS (Le fichier généré se trouve dans le répertoire de l’application CIDESS). Un exemple de fichier généré est donné figure 2.


-Le Nom est celui du circuit donné dans l’application PELECTRO et il s’affiche automatiquement. Il peut être modifié.


-Le bouton « Enregistrer » est grisé si le chemin du fichier CiDess.dat n’est pas connu ou si les dimensions du circuit sont supérieures à 2000*1500 pixels. Le nombre de pixels du circuit peut être choisi dans le menu paramètres -> Options du circuit PELECTRO.


-La barre de progression indique l’avancée de la génération du circuit.


Figure 1



Sommaire


Cette fenêtre assure la gestion des fichiers « .CDL » ainsi que les images des deux types de fichiers « .CDL » et « .CDP » de la DLL ’Library‘ (ElcCdl.dll).


Utilisation


Cette fenêtre s’affiche après avoir cliqué sur le plugin ’Library’. Remarque les fichiers « .CDL » doivent se trouver dans le répertoire « PElectro\Components » du répertoire « Mes Documents » de la bibliothèque du PC.


Figure 1


Dans le menu ‘Fichier’ il est possible de lire et d’écrire un fichier .CDL.


L‘image CDL apparait dans la fenêtre « Composants » de PELECTRO. Elle est limitée à une image de 16 x 16 pixels.


L’image CDP choisie apparaîtra lors du clic gauche sur la fenêtre circuit de l’application PELECTRO.


Il est possible de copier, coller une image « CDL » ou « CDP » dans la librairie via un programme tel que MICROSOFT PAINT.

L’ouverture ou l'enregistrement d’une image « CDP » se fait en sélectionnant un fichier « CDP » qui aura été réalisé via l'application PELECTRO. Les fichiers « CDP » se trouvent sous le répertoire « PElectro\Components\Layout » du répertoire « Mes Documents » de la bibliothèque du PC.


La création d'un fichier « CDL » se fait en introduisant des commandes directement dans la zone de saisie du plugin, ou par exemple avec le bloc note de Windows. Il faut ensuite l'enregistrer avec l'extension « CDL ».


Les commandes du fichier CDL commence par un point.

Exemple de commande:

.Library, .Begin et .End.


Les commandes:



Après la saisie de la librairie, il faut enregistrer son travail.


Le menu ‘syntaxe’ vérifie la validité du fichier CDL et du fichier lié CDP.


Dans le menu ‘image’, il est possible de lire, d’enregistrer les images des fichiers CDL ou CDP voir figure 1. Le résultat est donné dans la figure 2.

Figure 2



Sommaire


Cette fenêtre s’affiche après avoir cliqué sur le bouton Image->Nœuds. Cette action est possible si une image d’un composant « .CDP » a été chargée au préalable (voir aide ElcCdl2).


Utilisation


Cette fenêtre donne la liste des pattes en X/Y de l’image du composant « .CDP ». Les pattes du composant apparaitront sur la fenêtre circuit de de l’application PELECTRO.


X et Y sont les positions de l’une des pattes de l’image « .CDP ».


La liste des pattes est pré-affichée dans la zone supérieure de la fenêtre. Le nombre de pattes est calculé automatiquement en fonction du schéma « .CDP ».

Il est possible de sélectionner une patte simplement en cliquant sur son numéro dans la liste des nœuds. X et Y sont automatiquement chargés.


-Le bouton Modifier permet de changer les coordonnées de la patte en cours, depuis les champs X et Y.


-Le bouton ‘Ok’ permet de sortir de la fenêtre.


A noter: il faut évidemment saisir X et Y dans les limites de l’image du composant « .CDP ». Aucun Contrôle n’est réalisé dans le programme.



Sommaire


L'utilitaire de gestion de base de données XML est disponible dans le menu plugin de l'application PElectro.


Fenêtre Principale


La fenêtre principale est la suivante:


Figure 1


La fenêtre principale est composée d’une barre de menu, d’une gestion de base de données.

Le menu se trouve en haut de la fenêtre, il se compose des rubriques:

-“Fichier”, qui permet l’impression de la base de données en cours d’édition. Sortir du programme.

-“?”, La rubrique aide. Le numéro de version du programme.


La gestion de base de données, permet de sélectionner un fichier XML qu’il sera possible de modifier et de mettre à jour. Attention la création de lignes peut provoquer des dysfonctionnements, en effet les fichiers XML peuvent avoir des liens avec les DLL correspondantes et ainsi ne pas fonctionner correctement. Les composants XML suivis du caractère # peuvent être modifiés sinon le caractère # est utilisé. Le choix de la base de données se fait soit par le nom directement (il faut indiquer le chemin complet), soit par la sélection du bouton . L’ouverture de la base de données se fait par le bouton ‘Ouvrir’. Sur la gauche en dessous des données figurent les boutons de navigation. ‘+’ crée un enregistrement.

Le premier champ des fichiers ici NUMCOMPO doit commencer à 1 et s’incrémenter de 1 en 1. L’utilitaire 'XmlTools' accessible depuis le menu plugin 'ToolStart' permet de contrôler et de signaler les ruptures de séquence ainsi que les fichiers défectueux. Cet utilitaire permet aussi de réorganiser les fichiers lorsque l’utilisateur a fait beaucoup de modifications.


Les bases de données utilisées par le Programme d’électronique “PElectro” sont :


- Les Diodes # (DBDiode.xml).

- Les Transistors# (DBTrans.xml).

- Les Transistors à effet de champ # (DBTec.xml).

- Les Transistors MOS # (DBMos.xml).

- Les Amplificateurs Opérationnels # (DBAOp.xml).

- Les Quartz # (DBQarz.xml).

- Les CMOS # (DBCMos.xml).


Structure de la base de données des diodes


La signification des champs est la suivante pour les diodes classiques, Zener et Schottky :


TYPEDIODE 1 : Diodes classiques, 2 : Zener, 3 : Schottky, 4 : Tunnel,5 : Varicap et 6 : Photo réceptrice.

CP Capacité parasite en Farad.

PN0 Concentration des trous côté N en m-3.

E Permittivité du milieu (12 pour le silicium).

A Constante spécifique du matériau en m-3.T-3/2.

M Exposant de la capacité de transition entre 1/3 et ½.

RD Résistance des contacts en Ohm.

TP Température maximale de la jonction.

W Puissance maximale.

RTja Coefficient de température.

UBR Tension d’avalanche en Volts.

URM Efficacité quantique pour diode photo réceptrice

IFSM Courant maximum en Ampère.

RP0RN0 Lambda pour diode photo réceptrice

S Section de la jonction en Mètre (m).

VZ Tension Zener.

IZ Courant Maximum Zener.

TOL Tolérance de la tension Zener.

N Environ 1 pour le germanium, de 1 à 2 pour le silicium.

COUDE Coude de la tension d’avalanche de 2 à 6.

DIFE Largeur du Gap en eV. Si = 1,12eV, Ge = 0,66eV.

DP Constante de diffusion des trous en m2/s.

RP Durée de vie des trous en seconde (s).

DN Constante de diffusion des électrons en m2/s.

RN Durée de vie des électrons en s.

ND Nombre volumique des donneurs en m-3.

NA Nombre volumique des accepteurs en m-3.


La signification des champs est la suivante pour les diodes Tunnel  :


CP Courant de pic (Ipic).

PN0 Courant de vallée (Ival).

E Capacité parasite en Farad.

A Constante marquant la pente de résistivité négative.

UBR Tension de pic (Vpic).

URM Tension de vallée (Vval).

RD Résistance des contacts en Ohms.


Formules des diodes

Diodes tunnel :

Autres :


Diodes Schottky :

Autres :

Photoréceptrice :


Capacité transition :

Diodes Varicap et Schottky :

Capacité diffusion :


Irs = e*Ni*S*L0/(2*sqrt(RP*RN))


Si V<Ub0

Courant inverse :

Structure de la base de données des Transistors


La signification des champs est la suivante pour les Transistors :


TRANTYPE 1 pour NPN et 2 PNP.

DN Constante de diffusion des électrons en m2/s

Nb Concentration en électrons (NPN) dans la base en m-3.

LE Longueur de diffusion dans l’émetteur en mètre (m).

WB Longueur de la base en mètre.

DP Constante de diffusion des trous en m2/s.

LC Longueur de diffusion dans le collecteur en mètre.

WE Longueur de l’émetteur en mètre.

Ne Concentration en trous (NPN) dans l’émetteur en m-3.

Nc Concentration en trous (NPN) dans le collecteur en m-3.

TN Durée de vie des trous en seconde côté émetteur.

TI Durée de vie des trous en seconde côté collecteur.

CPE Capacité parasite d’émetteur en farad.

CPC Capacité parasite de collecteur en farad.

CTE Capacité de transition d’émetteur-base en farad.

CTC Capacité de transition de collecteur-base en farad.

LB Longueur de diffusion dans la base en mètre.

Wc Longueur du collecteur en mètre.

RC Résistance de collecteur en Ohm.

RE Résistance d’émetteur en Ohm.

RB Résistance de base en Ohm.

VCB Tension d’avalanche en volts.

N Exposant de décharge par avalanche de 3 à 6.

Tjmax Température maximale de la jonction.

Rtja Coefficient de température en °C/W.

nr Coefficient d’idéalité r.

UA Tension EARLY en volts.

UB Tension LATE en volts.

m Exposant CTC 1/3 (progressive linéaire) à ½ (abrute).

S Section de la jonction en mètre.

Ns 1 pour Germanium, de 1 à 2 pour Silicium.

Icmax Courant maximum de collecteur en ampère (A).

Vcbmax Tension collecteur-base maximale en volts.

Vcemax Tension collecteur-émetteur maximale en volts.

Vbemax Tension base-émetteur maximale en volts.

Ptot Puissance maximale en watts.

A Constante spécifique du matériau en m-3.T-3/2.

DIFE Largeur du Gap en eV. Si = 1,12eV, Ge = 0,66eV.

nf Coefficient d’idéalité f.

Isf Courant inverse de saturation Ube.

Isr Courant inverse de saturation Ucb.

IKf Courant de coude Ube.

IKr Courant de coude Ucb.


Formules des Transistors


Structure de la base de données des JFET


La signification des champs est la suivante pour les JFET :


TECTYPE 1 pour JFET à canal N, 2 pour JFET à canal P.

Nd Concentration du canal en atomes donneur en m-3.

Na Concentration de la grille en atomes accepteurs en m-3.

A Constante spécifique du matériau en m-3.T-3/2.

Wi Largeur du gap en eV. Si = 1,12eV.

L La largeur du barreau en mètre.

D L’épaisseur du barreau en mètre.

L2 La longueur en mètre.

Fep Permittivité du milieu 12 pour le silicium.

Cgs Capacité grille-source en farad.

Cdg Capacité drain-grille en farad.

Cds Capacité drain-source en farad.

Rs Résistance de la source en Ohm.

Rd Résistance du drain en Ohm.

Idmax Courant maximum du drain en ampère.

Vdsmax Tension drain-source maximale en volts.

Pmax Puissance maximale admissible en watts.

Tjmax Température maximale de la jonction.

Rtja Coefficient de température en °C/W.

M Type de jonction (progressive linéaire 1/3 à abrupte ½)

Vx Tension de Early en volts.


Formules des JFET


Non saturé :

Saturé :

Structure de la base de données des MOS


La signification des champs est la suivante pour les MOS:


MOSTYPE 1 pour NMOS à canal N, 2 pour PMOS à canal P.

Na Concentration de la grille en atomes accepteurs en m-3.

Wi Largeur du gap en eV. Si = 1,12eV.

L La largeur de la grille exprimée en mètre.

D L’épaisseur de l’isolant exprimée en mètre.

L2 La longueur du canal en mètre.

Fep Permittivité du milieu 12 pour le silicium.

Cdb Capacité drain-substrat en farad.

Csb Capacité source-substrat en farad.

Cds Capacité drain-source en farad.

Rs Résistance de la source en Ohm.

Rd Résistance du drain en Ohm.

Idmax Courant maximum du drain en ampère.

Vdsmax Tension drain-source maximale en volts.

Pmax Puissance maximale admissible en watts.

RTja Coefficient de température en °C/W.

Tmax Température maximale de la jonction en °C.

Eox Est la permittivité électrique de l’oxyde.

Cgb Non utilisé, calculé automatiquement.

Wm Travail de sortie du métal.

Xs Affinité électronique du silicium (exemple 4,01 eV).

Nox Charges stockées dans l’isolant exprimées en m2.

Ni Concentration intrinsèque en m-3.

Vx Tension de Early en volts.

Node 0 substrat non raccordé à la source, autre valeur si oui.

VgsMax Tension grille-source maximale en volts.


Formules des MOS


Zone linéaire :


Saturation


Structure de la base de données des AOP


La signification des champs est la suivante pour les Ampli-Opérationnels:

TYPEAOP 1.

Pd Puissance maximale dissipé en Watt.

Tde Tension d’entrée différentielle maximale en Volt.

Te Tension d’entrée maximale en volt.

Vd Tension de décalage d’entrée en volt.

Id Courant de décalage d’entrée en ampère.

Rec Résistance d’entrée de mode commun en Ohm.

Ce Capacité d’entrée en farad.

Rs Résistance de sortie en Ohm.

CTTde Coefficient de température moyen de la tension de décalage d’entrée en µV/°C (Vd = Vd+(CTTde/1E-6)*(Ta-25)).

TRMC Taux de réjection du mode commun en dB (20*log(Ad/Ac)).

Ad Gain en tension différentiel en boucle ouverte en V/mV.

Tsat Tension de saturation en sortie en volt.

MaxIs Courant maximum en sortie en Ampère.

Ip Courant de polarisation en entrée en Ampère.

SR Slew-Rate en V/µs.

Rd Résistance d’entrée différentielle en Ohm.

RTja Coefficient de température en °C/W.

TjMax Température maximum de la jonction en °C.


Formules des AOP



Structure de la base de données des CMOS


La signification des champs est la suivante pour les CMOS:


TYPECmos Nombre de pattes.

D Epaisseur du canal en mètre.

L Longueur du canal en mètre (n).

E Permitivité en F/m.

VdMin Tension minimum en volts.

VdMax Tension maximum en volts.

Ci Capacité parasite en sortie en farad.

Cp Capacité d’entrée en farad.

W Largeur du canal en mètre (n).

RTja Température de jonction en °C/W.

TaMin Température minimum de fonctionnement.

TaMax Température maximale de fonctionnement.

Un Mobilité en m2/Vs (n).

Up Mobilité en m2/Vs (p).

Vtn Tension de seuil (n).

Vtp Tension de seuil (p).

Ptot Puissance maximum de dissipation.

Wp Largeur du canal (p).

Lp Longueur du canal (p).

Ven Effet Early en volts (n).

Vep Effet Early en volts (p).

Vil Pourcentage en entrée pour un état bas (exemple 30%).

Vih Pourcentage en entrée pour un état haut (exemple 70%).


Formules des CMOS


Calcul pour (n), remplacer n par p pour (p)


Vin := ValEntrees

if Vin<Vtn then

begin

i := 0 ;

end

else

begin

if V<Vin-Vtn then

else

begin

end



Structure de la base de données des Quartz


La signification des champs est la suivante pour les Quartz:


Rm Résistance série en Ohms.

Cm Capacité série en Farad.

Cp Capacité parallèle en Farad.

Lm Inductance série en Henry.



Sommaire


Cette fenêtre permet de choisir, en fonction des paramètres des diodes, le courant Irs, Ub0 et le courant Id de la diode.


Utilisation


Figure 2


Dans cette fenêtre il est possible :

-D’importer les caractéristiques (paramètres) d’une diode contenue dans un fichier XML.

-D’exporter les caractéristiques d’une diode dans un fichier XML.

-Le bouton Donnée permet de prendre en compte les paramètres en cours et de replacer les curseurs au milieu de leur course.

-Le bouton Réinitialiser permet de revenir à la situation du dernier appel au bouton Donnée.

-Le bouton Tester permet de tester le composant.

-Le bouton Quitter permet de quitter le plugin.


Les curseurs sont utilisables pour modifier :

Le courant Irs.

La tension Ub0.

Le courant Id.


Les formules des diodes


Diodes tunnel :

Autres :

Diodes Schottky :


Autres :

I=Id*(


Photo-receptive:

Capacité transition :

Diodes Varicap et Schottky :

Capacité diffusion :

)


Si V<Ub0

/

Courant inverse:



Sommaire


Cette fenêtre donne la liste des composants diodes du fichier XML choisi.


Utilisation


Cette fenêtre s’affiche après le clic sur les boutons ‘import’ ou ‘export’ de la fenêtre ElcDio2 (Voir aide correspondante).


Figure 3


Le bouton ‘Valider’ permet de valider l’import ou l’export de la diode choisie.

Le bouton ‘Quitter’ annule l’import ou l’export de la diode.




Sommaire


Cette fenêtre permet de tester la diode sélectionnée par la fenêtre ElcDio2.mht avec le bouton tester (voir aide correspondante).


Fenêtre test de diode.


Figure 4


Cette fenêtre donne la caractéristique d’une diode. A gauche correspond la caractéristique inverse de la diode. A droite la caractéristique directe de la diode.

Le repère horizontal est le nombre de volts. Le repère vertical est le courant de la diode.


-‘Température’ correspond à la température ambiante de test.

-‘Iak Max’ est le courant direct maximum qui définit l’échelle haute verticale.

-‘Ika Max’ est le courant inverse maximum qui définit l’échelle basse verticale. Cette valeur doit être saisie si elle est à zéro. Sinon la caractéristique ne peut être calculée.

-‘P’ la puissance maximale de la diode.

-‘V’ et ‘I’ les infos correspondants à la position de la souris.

-‘Vak Max’ à la valeur max de la tension directe.

-‘Vka Max’ la tension inverse maximum qui définit l’échelle gauche horizontale.

-‘Ct’, ‘Cd’ et ‘Cp’ les capacités de transition, diffusion et parasite.


-Le bouton Afficher lance le calcul de la caractéristique.



Sommaire


Cette fenêtre permet de choisir les paramètres Ub0, Vto et Go du MOS.


Utilisation


Figure 1


Dans cette fenêtre il est possible :

-D’importer les caractéristiques (paramètres) d’un MOS contenu dans un fichier XML.

-D’exporter les caractéristiques d’un MOS dans un fichier XML.

-Le bouton Donnée permet de prendre en compte les paramètres en cours et de replacer les curseurs.

-Le bouton Réinitialiser permet de revenir à la situation du dernier appel au bouton Donnée.

-Le bouton Tester permet de tester le composant.

-Le bouton Quitter permet de quitter le plugin.


Les curseurs permettent de choisir les valeurs du Mos en fonction des équations qui le régissent.



Sommaire


Cette fenêtre donne la liste des composants MOS du fichier XML choisi.


Utilisation


Cette fenêtre s’affiche après le clic sur les boutons ‘import’ ou ‘export’ de la fenêtre ElcMos2 (voir aide correspondante).


Figure 1


Le bouton ‘Valider’ permet de valider l’import ou l’export du MOS choisi dans le fichier XML des MOS.

Le bouton Quitter annule l’import ou l’export du MOS.




Sommaire


Cette fenêtre permet de tester le MOS sélectionné dans la fenêtre ElcMos2 (voir l’aide).


Fenêtre test du MOS.



Cette fenêtre donne la caractéristique directe d’un MOS en fonction de Vgs.

Le repère horizontal est le nombre de volts entre Drain et source. Le repère vertical est le courant drain-source du MOS.


Température’ correspond à la température ambiante de test.

Id Max’ est le courant direct maximum qui définit l’échelle verticale.

P’ la puissance maximale du MOS.

Vg Min’ et ‘Vg Max’ le minimum et le maximum de Vgs ou Vsg suivant le type N ou P du MOS.

Incrément Vg’ l’incrément pour aller de ‘Vg Min’ à ‘Vg Max’. Il détermine le nombre de courbe relevé pour Vgs ou Vsg.

Vds Max’ ou ‘Vsd Max’ la tension de drain-source maximum qui définit l’échelle horizontale.

Vx’ tension Early.

Vds’ et ‘Id’ les valeurs de Vds et Id lorsque la souris survole les courbes.


Afficher’ lance le calcul de la caractéristique.




Sommaire


Cette fenêtre permet de choisir, en fonction des paramètres des TEC, Ub0, Go et Vp.


Utilisation



Dans cette fenêtre il est possible :

-D’importer les caractéristiques (paramètres) d’un TEC contenu dans un fichier XML.

-D’exporter les caractéristiques d’un TEC dans un fichier XML.

-‘Donnée’ permet de prendre en compte les paramètres en cours et de replacer les curseurs.

-‘Réinitialiser’ permet de revenir à la situation du dernier appel au bouton ‘Donnée’.

-‘Tester’ permet de tester le composant.

-‘Quitter’ permet de quitter le plugin.


Les curseurs permettent de choisir les valeurs des paramètres du TEC en fonction des équations qui le régissent.




Sommaire


Cette fenêtre donne la liste des composants TEC du fichier XML choisi.


Utilisation


Cette fenêtre s’affiche après le clic sur le bouton import ou export de la fenêtre ElcTec2 (voir aide correspondante).


Figure 1


Le bouton Valider permet de valider l’import ou l’export du TEC choisi dans le fichier XML des TEC.

Le bouton Quitter annule l’import ou l’export du TEC.




Sommaire


Cette fenêtre permet de tester le TEC qui a été sélectionné dans la fenêtre ElcTec2 (voir l’aide correspondante).


Fenêtre test du TEC.


Figure 1


Cette fenêtre donne la caractéristique directe d’un TEC en fonction de Vgs.

Le repère horizontal est le nombre de volts entre Drain et source. Le repère vertical est le courant drain-source du TEC.


Température correspond à la température ambiante de test.

Id Max est le courant direct maximum qui définit l’échelle verticale.

P la puissance maximale du TEC.

Vds Max ou Vsd Max la tension de drain-source maximale qui définit l’échelle horizontale.

Vx la tension Early.

Vds et Id les valeurs de Vds et Id lorsque la souris survole les courbes.


Afficher lance le calcul de la caractéristique.




Sommaire


Cette fenêtre permet de choisir, en fonction des paramètres du transistor, le BetaF, le BetaR et le courant IS0 du transistor.


Fenêtre du calcul de BetaF, BetaR et IS0


Figure 1


Dans cette fenêtre il est possible :

-D’importer les caractéristiques (paramètres) d’un transistor contenu dans un fichier XML.

-D’exporter les caractéristiques d’un transistor dans un fichier XML.

-Le bouton Donnée permet de prendre en compte les paramètres en cours et de replacer les curseurs.

-Le bouton Réinitialiser permet de revenir à la situation du dernier appel au bouton Donnée.

-Le bouton Tester permet de tester le composant.

-Le bouton Quitter permet de quitter le plugin.


Les curseurs permettent de choisir les valeurs des paramètres en fonction des équations qui les régissent.




Sommaire


Cette fenêtre affiche la liste des composants transistors du fichier XML choisi.


Utilisation


Cette fenêtre s’affiche après le clic sur les boutons ‘import’ ou ‘export’ de la fenêtre ElcTra2 (voir l’aide correspondante).


Figure 1


Le bouton Valider permet de valider l’import ou l’export du transistor choisi dans le fichier XML des transistors.

Le bouton Quitter annule l’import ou l’export du transistor.




Sommaire


Cette fenêtre permet de tester le transistor sélectionné dans la fenêtre ElcTra2 (voir l’aide correspondante).


Fenêtre test du transistor.


Figure 1


Fonction des quatre quadrants :

-Dans le premier quadrant figure la caractéristique (en rouge) du courant de collecteur Ic en fonction de VCE. La courbe en noire correspond à la puissance maximum admissible.

-Dans le second quadrant apparait le gain beta entre le courant de collecteur (Ic) et la base (Ib).

-Dans le troisième quadrant, correspond la caractéristique d’entrée VBE au courant de base.

-Dans le quatrième quadrant apparait les données de test du transistor.

Incrément Ib’ qui détermine le pas du courant Ib de 0 à ‘Ib Max’.

Ib Max’ le courant de test maximum qui doit être appliqué à la base.

Vce Typique’ est le point de Vce qui sera utilisé pour calculer le gain beta du transistor du deuxième quadrant.

Température’ est la température ambiante du test effectué.

Ic Max’ est le courant de collecteur maximum fixé pour le test.

Vce Max’ est la tension maximum entre le collecteur et l’émetteur pour le test.


Les paramètres non modifiables dans la fenêtre sont :

Vce=’ et ‘Ic=’ qui sont affichés en fonction de l’endroit où se trouve la souris sur la fenêtre.

UA=’ et ‘UB=’ sont les paramètres des tensions early du transistor.

P=’ est la puissance en watts du transistor.


Afficher’ permet de calculer les trois quadrants en fonction des paramètres du transistor et des paramètres du quatrième quadrant.




Sommaire


Pour afficher le paramétrage du fichier Log, Il faut sur l’application choisir le menu paramètres. Sélectionner « Fichier LOG ».




Fenêtre Paramètres Log




Cette fenêtre permet d’attribuer une couleur et une fonte aux messages du fichier Log. C’est le concepteur de l’application ou de la DLL qui choisit d’une manière arbitraire le numéro de couleur et de police qui leur convient. Il y a dix couleurs et dix polices.

C'est l'utilisateur de l'application PELECTRO qui attribue une couleur et une police au numéro de couleur et de police. Si aucune manipulation de l’utilisateur n’a été effectuée sur cet écran, le noir est la couleur par défaut et la première police est utilisée par défaut.


Le fond de la fenêtre See Log peut être choisi.


Une purge du fichier journal peut être effectuée automatiquement, soit tous les jours (valeur par défaut), soit toutes les semaines ou tous les mois.

La purge manuelle peut être effectuée depuis la fenêtre See Log du menu plugins.


Pour sortir de la fenêtre paramétrage, il faut cliquer sur le bouton Valider.




Sommaire


Pour afficher le fichier Log de PElectro, Il faut choisir le menu PlugIns->See Log.

La fenêtre suivante apparaît.


Fenêtre See Log




De droite à gauche :

+ ‘Tout’, concerne tous les messages. Les messages commencent par le type de message, par exemple ‘Sys ;’. Pour avoir tous les messages de ‘Sys’, sélectionner dans la liste, ‘Sys’.

+ ‘Sys’, concerne uniquement les messages destinés au support de l’application (messages système PElectro).

Le menu fichier contient :


La police et le type de couleur, d’une ligne, sont définis dans le paramétrage du fichier Log.

La structure d’un message est la suivante :

-1er caractère, un chiffre de 0 à 9 pour la police de caractères définie dans les paramètres du fichier Log.

-Un chiffre de 0 à 9 pour la taille de caractères moins 8. Si le choix d'une taille de 8 est nécessaire, il faut mettre 0 dans cette zone.

-Un caractère de 0 à 9 pour la couleur des caractères du message définie dans les paramètres du fichier Log.

-Un caractère de 0 à F (caractères 0 à 9 et de A à F) qui décrit le style des caractères du message.

0, style normal.

1, caractères gras.

2, caractères italique.

3, soulignés.

4, barrés (biffés).

5, gras + italiques.

6, gras et soulignés.

7, gras et biffés.

8, italiques et soulignés.

9, italiques et biffés.

A, soulignés et biffés.

B, gras, italiques et soulignés.

C, gras, italiques et biffés.

D, gras, soulignés et biffés.

E, italiques, soulignés et biffés.

F, gras, italiques, soulignés et biffés.

-Un caractère ‘;’.

Soit un total de 5 caractères en début de message.

-Le nom de la DLL avec son extension ou ‘Sys’ (pour les messages de l’application PElectro), suivis par le caractère ‘;’. Exemple ‘WH00.dll;’.

-Le message lui-même.


L’ensemble du message (caractères de contrôle et message) ne doit pas dépasser 150 caractères.




Sommaire


La DLL GestCompo permet d’afficher le résultat des composants en visualisation (par exemple les composants Display) ou de modifier l’état de composants variables (exemples, potentiomètres, résistances variables, interrupteurs, etc.).


Fenêtre GestCompo


Pour accéder à la fenêtre GestCompo, il faut aller dans le menu Plugins et cliquer sur GestCompo dans l’item du menu correspondant.




  1. Pour les composants d’affichage comme les composants Display, il suffit d’appuyer sur le bouton On/Off pour voir le résultat directement dans la fenêtre GestCompo.

  2. Pour les composants variables, il faut au moins avoir activé un instrument comme par exemple l’oscilloscope. De plus le bouton de GestCompo doit être sur ‘On’ pour voir le résultat en fonction des variations effectuées sur le composant.


-Le nombre de composants dans la fenêtre GestCompo n’est pas limité. Une barre de défilement apparait si la surface de la fenêtre est trop petite.



Sommaire


La loupe est accessible par le menu plugins de PElectro.


Utilisation


La loupe permet de grossir la partie de fenêtre qui se trouve sous l’icône de la souris. Un exemple est donné sur l’image ci-dessous.



Pour quitter la loupe, il faut appuyer sur la touche ‘escape’ (touche ‘echap’ en français).


NB: La loupe fonctionne uniquement sur le système Microsoft VISTA et 7. Sous XP la loupe ne grossit pas les fenêtres de PElectro.




Sommaire


Pour afficher la fenêtre gestion des utilitaires de PElectro. Il faut utiliser le menu plugins « ToolStart ».


Fenêtre Gestion des utilitaires de PElectro


Cette fenêtre a comme but, de pouvoir lancer les utilitaires avec éventuellement des paramètres sans sortir de l'application PElectro.

D'autre-part, cette fenêtre permet de lancer en différé les utilitaires qui peuvent, suivant leur programmation, tourner en silence ou s'afficher un jour de la semaine ou à une heure ou à une date.



Il est possible d'avoir plus d'information, sur le site internet PElectro, de la programmation de cette DLL rubrique « LcUtilPElec.dll ».




Sommaire


Pour afficher le caractère de séparation des champs d'un utilitaire, Il faut sur la fenêtre ci-dessous, cliquer sur le menu « séparateur... ».




Fenêtre Séparateur


La fenêtre du séparateur permet de choisir le séparateur qui sera utilisé pour différencier les zones des paramètres. Le séparateur est le premier caractère du champ des paramètres.

Vous pouvez comprendre le fonctionnement plus en détails de ce caractère sur le site internet dans la DLL « LcUtilPElec.dll ».

Il est possible sur cette fenêtre de choisir parmi la liste, le caractère qui conviendra le mieux pour la séparation des champs des paramètres.






Sommaire


L’ampèremètre (ou mesure de courant) permet de simuler le courant du circuit à l’endroit où les bornes de l’ampèremètre sont reliées.


Fenêtre Ampèremètre


Pour accéder à la fenêtre ampèremètre, il faut mettre l’instrument ampèremètre sur le circuit puis cliquer droit sur l’instrument (ici Ins3) et cliquer sur Ouvrir dans la liste qui apparait (voir aide de l'application).




-‘Power’ permet d’allumer/éteindre l’ampèremètre pour le fonctionnement en simulation directe.


-L’écran de l’ampèremètre affiche la courbe de la simulation ainsi que les paramètres de mesures. Le premier est le temps par division (il y a 12 divisions horizontales), le second indique le nombre d’ampères par division (il y a 10 divisions verticales), le troisième le décalage vertical, le quatrième le résultat de la simulation en ampères au temps considéré, puis le temps de simulation et enfin des informations sur l’enregistrement ou la lecture de la courbe affichée.

La jauge permet de connaître l’occupation actuelle du fichier d’enregistrement par rapport à sa taille maximale. Cette taille est définie dans les paramètres de l’application oscilloscope (voir l’aide correspondante).

Le zéro ampère est défini verticalement au milieu de l’écran.


-‘Enregistrement’ permet (1er bouton à gauche) d’enregistrer la courbe qui est obtenue en simulation directe. Le second bouton (bouton ‘play’), lit la courbe qui a été enregistrée. Et le dernier bouton (bouton ‘stop’) arrête, soit l’enregistrement soit la lecture, de la courbe.

La limite de temps est disponible dans le rectangle vert, si celui-ci est à zéro, il n’y a pas de limite dans le temps de simulation. Sinon, lorsque la valeur limite est inférieure ou égale au temps de simulation, la simulation s’arrête ainsi que l’enregistrement.


-‘Pause’ effectue une pause dans la simulation.


-‘Pos I’ décale vers le haut ou vers le bas la courbe de simulation. Le bouton ‘Reset’ permet d’annuler cet effet. La LED est allumée si un décalage est appliqué.


-La molette verte sélectionne le temps par division.

La LED indique, si elle est allumée, que la molette de l'ampèremètre détermine bien le temps. Si elle est éteinte, c’est la molette de contrôle de l’application qui est utilisée (voir l'aide de la fenêtre contrôle de l’application principale).


-La molette marron détermine le nombre d’ampères par division. Il est possible d’utiliser une autre fraction d’ampère avec le bouton ‘Div’, dans ce cas, la LED correspondante s’allume.


Remarque :

Il est possible d’avoir plusieurs ampèremètres actifs en même temps. Cela dépend des ressources de l’ordinateur (processeur et mémoires).




Sommaire


Cette fenêtre permet de mesurer en fréquence la réponse du circuit de type d'extension Elp.


Fenêtre Réponse en fréquences


Pour accéder à cette fenêtre il faut pour un circuit d'extension Elp prendre l'Oscilloscope des courants dans la liste des instruments et le lier sur le circuit au composant qu'il faut mesurer.


-Dans le cadran bas-droit, figure 3 boutons rotatifs. Le premier, est l'unité des fréquences choisies. Le second, le pas. Le troisième, la fréquence basse pour l'unité.

-Les chiffres représentent, La fréquence haute, le pas et la fréquence basse. Si la fréquence basse est à zéro, c'est les fréquences internes des générateurs de courants ou de tensions qui sont utilisées.

-La case à cocher indique la progression, linéaire ou exponentielle.


Sur l'écran étalonné, En dessus de la barre horizontale figure la valeur de l'amplitude en ampères. En dessous de la barre horizontale figure la phase de +90° à -90°. La phase 0 est au milieu de la partie basse de l'écran.




Sommaire


L’oscilloscope permet de simuler la tension du circuit à ses bornes.


Fenêtre oscilloscope




Pour accéder à la fenêtre oscilloscope, il faut mettre l’instrument oscilloscope sur le circuit puis relier les bornes. Cliquer droit sur l’instrument (ici Ins4) puis sur Ouvrir dans la liste qui apparait (voir aide de l'application).



-‘Power’ permet d’allumer/éteindre l’oscilloscope pour la simulation directe.


-L’écran de l’oscilloscope affiche la courbe de la simulation ainsi que les paramètres de mesures.

Le premier est le temps par division (il y a 12 divisions horizontales),

Le second indique le nombre de volts par division (il y a 10 divisions verticales),

Le troisième le décalage vertical,

Le quatrième le résultat de la simulation en volts au temps considéré,

Le temps de simulation et enfin des informations sur l’enregistrement ou la lecture de la courbe affichée.

La jauge permet de connaître l’occupation actuelle du fichier d’enregistrement par rapport à sa taille maximale. Cette taille est définie dans les paramètres de l’instrument oscilloscope (voir l’aide correspondante).

Le zéro volt est défini verticalement au milieu de l’écran.


-‘Enregistrement’ permet (1er bouton à gauche) d’enregistrer la courbe qui est obtenue en simulation directe.

Le second bouton (bouton ‘play’), lit la courbe qui a été enregistrée.

Et le dernier bouton (bouton ‘stop’) arrête, soit l’enregistrement soit la lecture, de la courbe. La limite de temps est disponible dans le rectangle vert. Si celui-ci est à zéro, il n’y a pas de limite dans le temps de simulation. Sinon, lorsque la valeur limite est inférieure ou égale au temps de simulation, la simulation s’arrête ainsi que l’enregistrement.


-‘Pause’ effectue une pause dans la simulation.


-‘Pos V’ décale vers le haut ou vers le bas la courbe de simulation. Le bouton ‘Reset’ permet d’annuler cet effet. La LED est allumée si un décalage est appliqué.


-La molette verte sélectionne le temps par division.

La LED indique que la molette verte détermine le temps par division. Si elle est éteinte, c’est la molette de contrôle de l’application qui est utilisée (voir l'aide de la fenêtre contrôle de l’application principale).


-La molette marron détermine le nombre de volts par division. Il est possible d’utiliser une autre fraction de volt avec le bouton ‘Div’, dans ce cas, la LED correspondante s’allume.


Remarque :

Il est possible d’avoir plusieurs oscilloscopes actifs en même temps. Cela dépend des ressources de l’ordinateur (processeur et mémoires).




Sommaire


Cette fenêtre permet de mesurer en fréquence la réponse du circuit de type d'extension Elp.


Fenêtre Réponse en fréquences


Pour accéder à cette fenêtre il faut pour un circuit d'extension Elp prendre l'Oscilloscope dans la liste des instruments et le lier sur le circuit au composant qu'il faut mesurer.


-Dans le cadran bas-droit, figure 3 boutons rotatifs. Le premier, est l'unité des fréquences choisies. Le second, le pas. Le troisième, la fréquence basse pour l'unité.

-Les chiffres représentent, La fréquence haute, le pas et la fréquence basse. Si la fréquence basse est à zéro, c'est les fréquences internes des générateurs de courants ou de tensions qui sont utilisées.

-La case à cocher indique la progression, linéaire ou exponentielle.


Sur l'écran étalonné, En dessus de la barre horizontale figure la valeur de l'amplitude en volt. En dessous de la barre horizontale figure la phase de +90° à -90°. La phase 0 est au milieu de la partie basse de l'écran.




Sommaire


Cette fenêtre permet de gérer la dimension du fichier d’enregistrement des instruments quand cette fonction est incluse (notamment dans les instruments oscilloscope et mesure de courant).


Fenêtre paramètre de mesures


Pour accéder à cette fenêtre il faut aller dans Paramètres->Options générales puis dans la liste déroulante en haut de la fenêtre. Sélectionner ‘Paramètres mesure’ vous obtenez la figure suivante.


Figure 1


Dans cette fenêtre vous pouvez définir la taille maximale du fichier d’enregistrement compris ente 1Mo et 999Mo.

Pour sortir de la fenêtre, cliquez sur la croix rouge en haut à droite de la fenêtre. La valeur saisie sera prise en compte.




Instrument générateur de tension


Cet instrument s’affiche lorsque l’on veut créer une source de tension dans le circuit.


La formule utilisée qui s’affiche sur l’écran est:

Y=g*F1((F2((aX+b)^e))/(F3((cX+d)^f)))+h

Où F1, F2, F3 sont des fonctions comme ‘Exp’ (fonction exponentielle). Elles sont déterminées dans les listes de FNC1 à FNC3.

Où ‘a’ à ‘h’ sont des constantes qui sont saisies dans les zones correspondantes en virgule flottante. Le message 'Valeur trop grande ou trop petite' apparaît lorsque ces constantes sont saisies et sont trop grandes (> ou égale à 1E10) ou trop petites (< à 1E-9) en valeur absolue. Dans ce cas les constantes erronées sont mises à zéro.

X représente le temps et Y la tension résultante.

Plusieurs fonctions, l’une après l’autre, peuvent être définies sur l’écran. Il faut saisir la fonction ainsi que T2, cliqué sur le bouton calculer puis sur le bouton enregistrer. Pour une nouvelle fonction, il faut recommencer.

Les fonctions doivent être calculées sur la base de temps d’une seconde par division soit 10*1s au total (remarque : cela permet de rendre indépendant la fonction Y et le sélecteur de temps par division. Lors des calculs des équations c’est le temps par division qui sera pris. Par exemple pour Y=10 sin(10 X+0)^1 où g=10, a=10, b=0, e=1. On peut saisir T2=2s si le temps/division est de 200ms (10x200ms=2s) alors la fonction Y sera affichée sur l’ensemble de l’écran.

Si la fonction Y n’est pas saisie, toutes les fonctions et constantes sont respectivement sur ‘Aucune’ et 0, que l’on appuie sur le bouton ‘calculer’, alors on peut saisir les points de la fonction directement sur l’écran.



Les curseurs marron et vert permettent de modifier respectivement les volts par division et le temps par division.



Partie droite de la fenêtre



Cette fenêtre est composée de 2 parties:

-La première, qui regroupe les équations qui permettent le dessin des courbes dans l’instrument source de tension. Les dessins possibles sont inscrits dans les boutons.

Dans cet outil de dessin, il est possible de sauvegarder 4 dessins créés par l’utilisateur. Si le bouton est barré, la fonction n’est pas utilisée. S’il existe un dessin dans l’oscilloscope, la sauvegarde s’effectue en cliquant dessus (le bouton passe à l’état ‘FONC’).

Pour afficher la fonction si aucun dessin ne figure sur l’écran, il suffit de cliquer sur le bouton FONC.

D’autre part, un bouton à ‘FONC’ peut être ‘vidé’ en utilisant le bouton ‘Réinitialiser FONC’ puis en cliquant sur le bouton ‘FONC’ correspondant (il passe à barré).



-La seconde, permet d’indiquer le nombre de périodes (maximum 9) que va créer le programme. Les deux autres champs permettent de gérer l’amplitude du dessin.




Instrument générateur de tension


Cet instrument s’affiche lorsque l’on veut créer une source de tension dans le circuit de type d'extension Elp.


L'amplitude du signal est en volt.

La phase est exprimée en degrés.

La résistance interne en Ohms.

La fréquence en Hz.


Pour ignorer la saisie et quitter, cliquer sur le bouton 'Quitter'.

Pour valider la saisie et quitter, cliquer sur le bouton 'Valider'.



Instrument générateur de courant


Cet instrument s’affiche lorsque l’on veut générer une source de courant dans le circuit.




La formule utilisée pour qu’elle s’affiche sur l’écran est:

Y=g*F1((F2((aX+b)^e))/(F3((cX+d)^f)))+h

Où F1, F2, F3 sont des fonctions comme ‘Exp’ (fonction exponentielle). Elles sont déterminées dans les listes de FNC1 à FNC3.

Où ‘a’ à ‘h’ sont des constantes qui sont saisies dans les zones correspondantes en virgule flottante. Le message 'Valeur trop grande ou trop petite' apparaît lorsque ces constantes sont saisies et sont trop grandes (> ou égale à 1E10) ou trop petites (< à 1E-9) en valeur absolue. Dans ce cas les constantes erronées sont mises à zéro.

X représente le temps et Y le courant résultant.

Plusieurs fonctions, l’une après l’autre, peuvent être définies sur l’écran. Il faut saisir la fonction ainsi que T2, cliqué sur le bouton calculer puis sur le bouton enregistrer. Une nouvelle fonction est de nouveau saisissable.

Les fonctions doivent être calculées sur la base de temps d’une seconde par division soit 10*1s au total (remarque : cela permet de rendre indépendant la fonction Y et le sélecteur de temps par division. Lors des calculs des équations c’est le temps par division qui sera pris. Par exemple pour Y=10 sin(10 X+0)^1 où g=10, a=10, b=0, e=1. On peut saisir T2=2s si le temps/division est de 200ms (10x200ms=2s) alors la fonction Y sera affichée sur l’ensemble de l’écran.

Si la fonction Y n’est pas saisie (toutes les fonctions et constantes sont respectivement sur ‘Aucune’ et 0), que l’on clique sur le bouton ‘calculer’, alors la saisie, des points de la fonction, est effectuée directement sur l’écran.



Les curseurs marron et vert permettent de modifier respectivement les ampères par division et le temps par division.



Partie droite de la fenêtre




Cette fenêtre est composée de 2 parties:

-La première, qui regroupe les équations qui permettent le dessin des courbes dans l’instrument source de courant. Les dessins possibles sont inscrits dans les boutons.

Dans cet outil de dessin, il est possible de sauvegarder 4 dessins créés par l’utilisateur. Si le bouton est barré, la fonction est vide. S’il existe un dessin dans l’oscilloscope, la sauvegarde s’effectue en cliquant sur le bouton ‘FONC’.

Pour afficher la fonction il suffit de cliquer sur le bouton FONC mais il faut qu’aucun dessin ne soit déjà affiché.

D’autre part, un bouton à ‘FONC’ peut être ‘vidé’ en utilisant le bouton ‘Réinitialiser FONC’ puis en cliquant sur le bouton ‘FONC’ correspondant (il passe à barré).



-La seconde, permet d’indiquer le nombre de périodes (maximum 9) du dessin. Les deux autres champs permettent de gérer l’amplitude du dessin.



Instrument générateur de courant


Cet instrument s’affiche lorsque l’on veut créer une source de courant dans le circuit de type d'extension Elp.


L'amplitude du signal est en Ampères.

La phase est exprimée en degrés.

La résistance interne en Ohms.

La fréquence en Hz.


Pour ignorer la saisie et quitter, cliquer sur la croix (bouton 'X').

Pour valider la saisie et quitter, cliquer sur le bouton 'Valider'.




Sommaire


Pour arriver sur l’écran de l’analyseur de spectre, il faut cliquer droit sur l’icône et faire ‘Ouvrir’. La fenêtre analyseur de spectre s’affiche.


Fenêtre Analyseur spectre



L’analyseur de spectre donne la forme générale des harmoniques, l’harmonique le plus à gauche étant de rang un.

Sur l'exemple ci-dessus, l’harmonique de rang 18 est non présent, et l'on constate que les harmoniques sont rapidement décroissants.



Sommaire


Le thermomètre permet de simuler la température du composant sélectionné. Il faut  que la résistance thermique du composant ait été saisie dans les paramètres de celui-ci.


Fenêtre thermomètre


Il faut cliquer droit sur le composant dont on veut la température et sélectionner ‘thermomètre’ comme dans la figure ci-dessous.


Figure 1


La fenêtre suivante s’affiche.


Figure 2


La mesure est réalisée sur le composant ‘Res6’ du circuit en cours.


-‘Power’ permet d’allumer/éteindre le thermomètre en simulation.


-‘Pause’ effectue une pause dans la simulation.


-‘T’ représente le temps au moment de l’affichage du résultat (38 secondes).


-‘Fin’ permet de choisir la fin de la simulation. Si à zéro, il n’y a pas de limite. Sinon, lorsque le temps de simulation est supérieur ou égal à ‘Fin’, la simulation s’arrête.

Le temps écoulé entre deux résultats dépend de la molette de la fenêtre de contrôle de PElectro (voir documentation correspondante).


-‘Valeurs’ indique le résultat en degrés Kelvin (°K) et en degrés Celsius (°C). La barre de progression à gauche du thermomètre correspond à cette valeur.


Lors de la simulation de la température, la valeur retenue est celle la plus élevée au cours du temps.




Sommaire


Avant tout, il faut déposer le composant « Mesures » sur le circuit.

Pour arriver sur l’écran des mesures, il faut cliquer droit sur l’icône et faire ‘Ouvrir’. La fenêtre mesures s’affiche.


Fenêtre Mesures



Les afficheurs:

Le premier afficheur donne le nombre de watt. Ici 120,1 µW.

Le second, le nombre de volts. Ici, 2,4 V.

Le troisième, le nombre d’ampères. Ici, 49,2 µA.

Le quatrième, la fréquence. Ici 500 mHz.


Les mesures sur une période sont:

TRMS ou mesure efficace vraie (True RMS).

C à C, crête à crête.

Moyenne du cycle.


Si la case est cochée, la fréquence est donnée pour la tension sinon pour le courant.


Sommaire


L’ampèremètre simple (ou mesure de courant) permet de simuler le courant du circuit à ses bornes.


Fenêtre Ampèremètre



Pour accéder à la fenêtre ampèremètre, il faut mettre l’instrument ampèremètre sur le circuit puis relier ses bornes. Puis cliquer droit sur l’instrument (ici Ins5) et cliquer sur Ouvrir dans la liste qui apparait (voir aide de l'application).



-‘Power’ permet d’allumer/éteindre l’ampèremètre en simulation directe.


-L’écran de l’ampèremètre affiche la courbe de la simulation ainsi que les paramètres de mesures.

Le premier est le temps par division (il y a 10 divisions horizontales),

Le second indique le nombre d’ampères par division (il y a 10 divisions verticales),

Le troisième le décalage vertical,

Le quatrième le résultat de la simulation en ampères au temps considéré,

Le temps de simulation.

Le zéro ampère est défini verticalement au milieu de l’écran.


-‘Pause’ effectue une pause dans la simulation.


-‘Pos I’ décale vers le haut ou vers le bas la courbe de simulation. Le bouton ‘Reset’ permet d’annuler cet effet. La LED est allumée si un décalage est appliqué.


-La molette verte sélectionne le temps par division.

La LED indique que la molette verte détermine bien le temps par division. Si elle est éteinte, c’est la molette de contrôle de l’application qui est utilisée (voir l'aide de la fenêtre contrôle de l’application principale).


-La molette marron détermine le nombre d’ampères par division. Il est possible d’utiliser une autre fraction d’ampère avec le bouton ‘Div’, la LED correspondante s’allume.


Remarque :

Il est possible d’avoir plusieurs ampèremètres actifs en même temps. Cela dépend des ressources de l’ordinateur (processeur et mémoires).




Sommaire


L’oscilloscope réduit permet de simuler la tension du circuit à ses bornes reliées.


Fenêtre oscilloscope


Figure 1


Pour accéder à la fenêtre oscilloscope, il faut mettre l’instrument petit scope sur le circuit puis relier ses bornes. Cliquer droit sur l’instrument (ici Ins4) et cliquer sur Ouvrir dans la liste qui apparait (voir aide de l'application).


Figure 1

-‘Power’ permet d’allumer/éteindre l’oscilloscope en simulation directe.


-L’écran de l’oscilloscope affiche la courbe de la simulation ainsi que les paramètres de mesures.

Le premier est le temps par division (il y a 10 divisions horizontales),

Le second indique le nombre de volts par division (il y a 10 divisions verticales),

Le troisième le décalage vertical,

Le quatrième le résultat de la simulation en volts au temps considéré,

Le temps de simulation.

Le zéro volt est défini verticalement au milieu de l’écran.



-‘Pause’ effectue une pause dans la simulation.


-‘Pos V’ décale vers le haut ou vers le bas la courbe de simulation. Le bouton ‘Reset’ permet d’annuler cet effet. La LED est allumée si un décalage est appliqué.


-La molette verte sélectionne le temps par division.

La LED indique que la molette verte détermine bien le temps par division. Si elle est éteinte, c’est la molette de contrôle de l’application qui est utilisée (voir l'aide de la fenêtre contrôle de l’application principale).


-La molette marron détermine le nombre de volts par division. Il est possible d’utiliser une autre fraction de volt avec le bouton ‘Div’, dans ce cas, la LED correspondante s’allume.


Remarque :

Il est possible d’avoir plusieurs oscilloscopes actifs en même temps. Cela dépend des ressources de l’ordinateur (processeur et mémoires).




Sommaire


La DLL ParamTools permet de contrôler l’affichage des messages envoyés par PElectro et ses DLLs.


Fenêtre ParamTools


Pour accéder à la fenêtre ParamTools, il faut aller dans le menu Paramètres et cliquer sur Paramètres Outils dans la liste déroulante.



Les possibilités sont les suivantes :

-‘Afficher les messages’ autorise ou non l’affichage des messages par l’intermédiaire de la DLL ParamTools.

-‘Autoriser le click’ permet de cliquer dans le message qui s’affiche.

-‘Autoriser le déplacement’ permet le déplacement du message sur l’écran.

-‘Autoriser la fermeture’ permet d’avoir dans le message un icône pour fermer le message.


-Le style permet de choisir la forme (style) du message.


-Les 5 champs suivants, décrivent :

Le temps de départ,

Le temps de fin,

Le pas de fin,

Le temps d’affichage.


Le temps est compté en milliseconde.


-L’emplacement permet de choisir le lieu où le message doit apparaitre.


-'taille de la fenêtre' indique les dimensions de la fenêtre. Si la taille est à zéro alors la fenêtre s’adapte au message qu’elle comporte.


-‘Voir’ affiche le message avec les paramètres saisis dans la fenêtre de la DLL ParamTools.

-‘Valider’ enregistre les paramètres et ferme la fenêtre ParamTools.




Sommaire


Pour afficher la vue interne d'un composant, cliquer droit sur l'image du composant dans la fenêtre du circuit et sélectionner « Vue interne ».


Fenêtre VueInCompo


La fenêtre apparaît avec le schéma interne du composant.


Le schéma interne comporte :


Le clic droit sur un composant interne affiche un menu qui comporte les éléments suivants :


La totalité des informations du composant (schéma, données, Pattes, etc.) peuvent être imprimées par le menu « Fichier->imprimer ».




Sommaire


Le zoom est accessible par le menu plugins de PElectro.


Utilisation


Le zoom permet de grossir la partie de fenêtre qui se trouve sous l’icône de la souris. Un exemple est donné sur l’image ci-dessous.



Pour quitter le programme, il faut cliquer sur le bouton fermeture de fenêtre (bouton rouge en haut à droite de la fenêtre).

Pour agrandir ou diminuer le zoom il faut cliquer sur + ou – respectivement.


NB: Le zoom fonctionne uniquement sur le système Microsoft VISTA et 7. Sous XP le zoom ne permet pas de grossir les fenêtres.



----------------------------------------------- Fichier IPElectro.pas ------------------------------------------------------------


Avec les informations ci-dessous et les fichiers PDF des programmes du site www.jbdevelop.com vous pourrez concevoir une DLL pour PELECTRO.


Constantes PElectro


const


Les messages suivants permettent aux DLL de communiquer avec le programme PELECTRO.


WM_LOCKFUNC= WM_USER;


Le message LOCKFUNC permet de verrouiller/déverrouiller une fonction suivant les paramètres LockNew, LockOpen, LockAffi, LockCCP et LockNCompo qui sont décrits plus loin. Le paramètre LParam à 1 permet de déverrouiller la fonction, LParam à 0 verrouille la fonction.

Exemple:


WM_LANGUID = WM_USER+1;


Le message WM_LANGUID permet de définir ou de connaitre la langue utilisée. Si WParam est à 0, le retour du message est le code de la langue, par exemple le Français (définit à $0C plus loin).

Si WParam est différent de 0, sa valeur détermine la langue à afficher. Si la langue ne correspond pas à une langue définie de PELECTRO alors l'Anglais est pris par défaut.

Le retour du message est 1.


WM_LEDONOFF= WM_USER+2;


Le message WM_LEDONOFF permet d’éteindre ou d’allumer le LED dans la fenêtre des contrôles. Si WParam est à 0, il s’agit d’une demande d'éteindre le LED.

Remarque: le LED s’éteint si le nombre de demandes d’éteindre est supérieur ou égal au nombre de demandes d’allumer. Si une demande d’allumer le LED arrive alors le LED s’allume même si le nombre de demande d’éteindre auparavant lui a été supérieur.

Le retour vaut 1.


WM_CLEARMES= WM_USER+3;


Le message WM_CLEARMES permet d’initialiser le fichier LOG (PElectro.Log) ou la liste des messages dans la fenêtre des contrôles. Si WParam est à 1 le fichier LOG est réinitialisé, sinon, c'est la liste des messages dans la fenêtre des contrôles.

Le retour vaut 1 s'il n'y a pas d'erreur.


WM_ADDMES = WM_USER+4;


Ce message permet d’ajouter, au fichier LOG et/ou à la liste des messages de la fenêtre contrôles, les messages provenant du fonctionnement des DLL. L’adresse du message à ajouter est passée sous la forme d’un PCHAR, dans la variable WParam.

LParam à 0, enregistre le message dans la liste et le fichier,

LParam à 1 dans la liste,

LParam à 2 dans le fichier LOG.

Les valeurs supérieures à 2 sont considérées comme étant un LParam à 0 si la DLL ParamTools n'est pas présente. Sinon, le message dont LParam vaut 3, est affiché sous la forme d'un bulle, suivant les paramètres de la DLL ParamTools, le message est ensuite enregistré dans le fichier LOG.


WM_ALLOCMEM= WM_USER+5;


WM_ALLOCMEM réserve pour la DLL une zone de mémoire d'octets qui sera transmis sous la forme d’un pointeur.

Si WParam<1: le pointeur est à nil.

Si WParam>=1: le pointeur correspond à WParam d'octets.


WM_FREEMEM = WM_USER+6;


Libère la mémoire réservée. Le pointeur doit être dans WParam.

Si WParam est à nil, le retour vaut 0.

Si WParam se libére sans problème, le retour vaut 1, sinon il vaut -1.


WM_SAVE = WM_USER+7;


Ce message permet de demander l’enregistrement du circuit en cours à la sortie de PELECTRO ou lors du passage à un autre schéma de circuit.

Si WParam est à 0, la possibilité d’enregistrer sera demandé.


WM_PICPELEC= WM_USER+8;


Un exemple d’utilisation de ce message peut s’effectuer de la manière suivante:

Hdle est l’handle de la fenêtre PELECTRO.

IPosDroit est la valeur d’un indice du tableau PTAc (voir plus bas) dont l’image du composant doit être récupérée.

Pic est un pointeur sur l’objet TBitmap qui contiendra l’image à recevoir. Il s’agit de l’image du composant IposDroit qui est affichée sur le circuit de PELECTRO.

Si une erreur est survenue, Pic contient la valeur nil.


WM_ECHELLE = WM_USER+9;


Exemple d’utilisation de WM_ECHELLE.

PD^[i].Handle est le handle de la DLL qui a demandé de gérer l’échelle. EchCidess.ItemIndex est un exemple du type d’échelle qui s’affichera dans la fenêtre des contrôles (voir fonction TEchelle).

Le retour du message est toujours 1.


WM_HELPPE = WM_USER+10;


Permet d’appeler l’aide (page web) de la fiche de la DLL sur laquelle l’utilisateur a invoqué la touche fonction F1.


Exemple d’utilisation de WM_HELPPE.

i doit être l’indice de la DLL, dans la table des DLL, qui demande l’affichage de l’aide. Le nom de la DLL est ensuite utilisé pour la recherche de la page web.

Ici 2 est l’indice de la page web (.htm) de l’aide. Cet indice peut tenir compte de la langue ou toute autre information entière. Une demande au webmaster du site PELECTRO est nécessaire pour prendre en compte votre page.

Ici le résultat de la page d’aide sera ‘http://aide.jbdevelop.com/Cidess2.htm’. Où ‘Cidess’ est tiré de i et ‘2’ provient de Wparam. S’il y a plusieurs fenêtres dans la DLL, la première peut porter le numéro 0 puis 1, etc. Soit, ‘Cidess0.htm’ puis ‘Cidess1.htm’ etc.


WM_ALLOCOMP = WM_USER+11;


Permet de réserver à la fin de la table des composants AComposant, le Nombre d’enregistrements défini dans WParam.


WM_PROGRBAR = WM_USER+12;


Ce message permet de gérer depuis une DLL la barre de progression de PELECTRO.

Exemple,

WParamHi doit contenir la valeur 0 ou 1.

Si WParamHi est à 0,

LParamLo contient la valeur minimale de la barre de progression,

LParamHi, la valeur maximale,

WParamLo le pas (StepBy).

La position est mise à 0 lors de ce message.

Si WParamHi est à 1,

WParamLo peut prendre les valeurs 1,2 ou 3,

Si égal à 1, la progression de la barre est le pas suivant (StepIt).

Si à 2, LParamLo contient la valeur de la nouvelle position (Position).

Pour 3, la jauge s’incrémente du pas indiqué dans LParamLo.


WM_STATUBAR = WM_USER+13;


Ce message affiche, dans la statut barre de PELECTRO, la chaine (pointeur) qui est indiquée dans WParam.


WM_PELCLOAD = WM_USER+14;


Renvoi, au programme qui le demande par MessageSys, dans LParam le handle de la fenêtre Principale de PELECTRO si celle-ci est active (WParam à 1). Si le programme PELECTRO se ferme WParam vaut 0.

Exemple de traitement,


WM_SIZEXY = WM_USER+15;


Ce message change les dimensions de la surface du circuit.

WParam contient la longueur de l'axe des X.

LParam contient la largeur de l'axe des Y.

Les valeurs maximales de X et de Y sont 3745 pixels.

Le retour du message est normalement 0.


WM_APPTIME = WM_USER+16;


Ce message permet la communication et l'exécution de la DLL « ToolStart » qui gère les utilitaires de l'application PELECTRO. Le programme de mise à jour de PELECTRO reçoit les informations de la DLL (Nom, date, heure etc..) qui serviront à lancer les utilitaires demandés. Si un utilitaire est lancé en différé, il faut que le programme de mise à jour (« MAJPElec ») soit actif, sinon un message d'anomalie est envoyé à l'utilisateur.

Exemple de code,


-------------------------------------------------------------------------------------------------------------------------------------


Les constantes suivantes permettent au programme PELECTRO d’afficher les informations des DLL dans les parties visuels du programme. Ces constantes sont à utiliser dans la fonction TGetTypOp. Remarque une DLL ne doit pas à la fois utiliser les constantes Composant et Instrument.


Plugins = $0001;


Affiche dans le menu Plugins le nom choisi par la DLL et indique à PELECTRO que la DLL sait gérer les appels correspondants (voir fonctions ou procédures expliquées plus bas).


Composant = $0002;


Permet au programme PELECTRO de savoir que la DLL gère des composants (PELECTRO affiche les composants dans la fenêtre adéquate via les procédures et fonctions de la DLL).


Instrument = $0004;


Indique que la DLL correspond à un instrument Elc (affichage dans la fenêtre des instruments).


Parameter = $0008;


La DLL doit apparaître dans la liste des paramètres de PELECTRO (menu Paramètres->Options générales)


MenuPopUp = $0010;


Dans le menu PopUp (clic droit sur le circuit) figurera le nom désigné par la DLL. La DLL devra gérer les procédures ou fonctions correspondantes (voir plus loin procédures et fonctions).


Tools = $0020;


Seule la première boîte à outils qui utilise cette valeur dans la liste des DLL pourra communiquer avec le programme PELECTRO via les procédures AltPElec et MesPElec (Voir procédures et fonctions ci-dessous).


OpenMenu = $0040;


Rajoute dans le menu 'Fichier->Ouvrir autres formats', Une ligne de Menu définie par la DLL.


InstruBox = $0080;


Indique que la DLL correspond à un instrument Elp (affichage dans la fenêtre des instruments).


Generator = $0100;


Indique que la DLL est un instrument de type « Générateur de courant ou de tension ».


---------------------------------------------------------------------------------------------------------------------------------------


Les paramètres ci-dessous peuvent être utilisés avec le message WM_LOCKFUNC. Ils doivent être transmis dans le champ WParam.


LockNew = $0001;


LockNew permet de verrouiller/déverrouiller les fonctions de passage à un circuit vierge.


LockOpen = $0002;


LockOpen permet de verrouiller/déverrouiller le passage à un autre circuit.


LockAffi = $0004;


LockAffi permet de verrouiller/déverrouiller les fonctions d’affichage du circuit.


LockCCP = $0008;


LockCCP permet de verrouiller/déverrouiller les fonctions du presse papier.


LockNComp = $0010;


Permet d’empêcher la mise en place sur le schéma d’un nouveau composant.


---------------------------------------------------------------------------------------------------------------------------------------


PixelMax = 32768;


Taille maximale d’une image Bitmap gérable par PELECTRO.


cstMaxChars = 5000; // petite taille tampon chaîne

cstBigMaxChars = 300000 // grande taille de chaîne


La taille maximale des chaînes de caractères passées entre PELECTRO et les DLL dépend de la fonction concernée.


Defaut = $00;


Francais = $0C;

English = $09;

Arabe = $01;

Chinois = $04;

Allemand = $07;

Hebreu = $0D;

Japonais = $11;

Italien = $10;

Russe = $19;

Espagnol = $0A;

Hindi = $39;

Portugais= $16;

Indonesien=$21;


Valeur des langues disponibles dans PELECTRO.


CstWH00 = 780174372;


Valeur des composants de la DLL WH00 nécessaire au fonctionnement de PELECTRO (voir TabLibDll plus bas). Cette DLL est toujours en première position dans la table TabLibDll.


VersAct = 7;


Version actuelle des fichiers de PELECTRO


NbrMaxDll= 200;


C’est le nombre maximum de DLL qui peut être utilisé par PELECTRO.


NbrParDll= 30;


C’est le nombre de paramètres gérable par la DLL. Les paramètres de 0 à 25 sont réservés à PELECTRO. Chaque DLL dont la constante est Parameter doit gérer NbrParDll paramètres par la fonction TCopyParam (voir procédures et fonctions plus loin). Exemple, la première DLL dont TGetTypOp est à Parameter devra au maximum gérer les paramètres de 30 à 59 et ainsi de suite pour les autres DLL.

Les paramètres de 0 à 25 sont les suivants:

0 = la température.

1 = le temps par divisions.

2 = le sens du courant.

3 = le nombre d'itérations.

4 = la position.

5 = la précision.

6,7 = top et left des boîtes à outils.

8 = le rang de l'imprimante dans la liste des imprimantes.

9 = si le journal est activé.

10= si automatique activé.

11= si les bulles sont activées.

12= la largeur du circuit.

13= la hauteur du circuit.

14= le numéro de langue en cours d’utilisation.

15= si le magnétisme sur le circuit est activé.

16= si le pas sur le circuit est visible.

17= si le pas de 16 pixels sur le circuit est activé.

18 = L'écriture en Unicode est possible dans CiDess si le paramètre est à 1 ou Ansi si le paramètre est à 0.

19 = Le mode temporel (0), fréquentiel (1) ou polarisation (2).

20 = Le nombre de paramètres par DLL.

21 = le Nombre de DLL paramètres.

22 = Le type de circuit, Elc = 1, Elp = 2 et CDP = 3.

23 = Le zoom utilisé.

24 = La largeur des pistes du circuit.

25 = La distance entre les pistes.


---------------------------------------------------------------------------------------------------------------------------------------


NbrOff= 1E37;


---------------------------------------------------------------------------------------------------------------------------------------


MessagePELECTRO = 'PELECTROJBa'


Permet d'envoyer un message particulier à PELECTRO à partir d'une autre application.

La gestion des messages est la suivante:

-D'abord l'application, qui veut interroger PELECTRO, enregistre ce message.

-Puis envoi, par SendMessage, le handle de la fenêtre de l’application dans LParam et 1 dans WParam.

-Si PELECTRO est actif, il renvoie le message 'PElcLoad' avec 1 dans WParam et le handle de la fenêtre principale de PELECTRO dans LParam. Lors de la fermeture de PELECTRO WParam passe à 0.


Cette séquence offre à une application extérieure le moyen de savoir si PELECTRO est actif puis s'il s'est fermé.


MessageLangue = 'LanguageJBa'


Permet à PELECTRO d'envoyer un message indiquant aux autres applications que la langue a changé.

La gestion du message est la suivante:


- D'abord l'application, qui veut recevoir la langue utilisée par PELECTRO, enregistre ce message.

- Puis lorsque la langue est modifiée par l’utilisateur, elle est transmise dans WParam.


---------------------------------------------------------------------------------------------------------------------------------------



Structures PELECTRO


Type

TA = array of array of double ;

TI = array of double ;

PTA = ^TA ;

PTI = ^TI ;


--------------------------------------------------------------------------------------------------------------------------------------


TNotCompo permet de limiter les fonctionnalités de PELECTRO ainsi que des éléments du menu PopUp (lors du clic droit sur le circuit de PELECTRO). Cette énumération fonctionne avec le champ RInterdit du record AComposant (voir plus loin).


TNotCompo=(

jbOpen,


Dans PELECTRO, l’ouverture ne peut se faire que dans le cadre d’une DLL Instrument. jbOpen interdit l'ouverture de l'instrument en grisant l’item du menu correspondant.

Exemple: PA[i].RInterdit:=PA[i].RInterdit+[jbOpen];


jbMove,


Interdit le déplacement du composant ou de l’instrument.


jbRota,


Interdit la rotation du composant ou de l’instrument.


jbConnect,


Interdit la liaison du composant ou de l’instrument avec un autre.


jbSeparate,


Interdit la suppression d’une liaison du composant ou de l’instrument.


jbDelete,


Interdit la suppression du composant ou de le couper.


jbOne,


Si un autre composant de la DLL en cours (clic droit sur le composant) contient cet indicateur alors un seul de ces composants peut être ouvert.


jbInvers,


Interdit l’inversion du composant ou de l’instrument.


jbOther


Interdit à un instrument ou à un composant de se lier à celui ayant cet indicateur.


);


---------------------------------------------------------------------------------------------------------------------------------------


TTypeCompoDonVisual = record

Min,Max: double;

Couleur: TColor;

Taux : integer;

Ecart : double;

TypeCtrl: word;

OutValL: boolean;

TypeOpC: array [0..30] of Char;

LogOnOff: boolean;

End;


Cinq types de composants ‘TypeCtrl’ peuvent s’afficher dans la fenêtre du plugin GestCompo.

1- boîtes à cocher.

2- LED.

3- boutons rotatifs.

4- Display.

5- jauge.


Les boîtes à cocher:

Si ‘Max = 0’ la case à cocher est décochée. Sinon elle est cochée.

La boîte à cocher prend la couleur ‘Couleur’.

Ce composant est modifiable en temps réel et informe la DLL des changements.


Les LED :

Ce composant est en affichage.

La LED prend la couleur ‘Couleur’ si elle est allumée.


Les Boutons rotatifs :

Ce composant est modifiable en temps réel et informe la DLL des changements de valeur.

La couleur du composant est donnée par ‘Couleur’.

Si ‘Ecart = 0’ l’écart entre deux positions est calculé de la manière suivante, Ecart = ‘(Max – Min) / 100’. Si ‘Taux = 0’ La position de départ est au milieu. Sinon la position de départ est égale à ‘Taux’.

Si ‘Ecart <> 0’ la position de départ est ‘Min’.

Si ‘LogOnOff’ est à false, la position maximale est égale à ‘(Max – Min) / Ecart’.

Si ‘LogOnOff est à true, alors le calcul est égal à 10 à la puissance (Position du bouton * Ecart * Max / position maximale du bouton).

Si ‘OutValL’ est à true, alors la valeur du composant s’affiche avec le multiplicateur adéquate (exemple : µ pour micro, p pour pico, etc.….).

TypeOpC’ peut contenir une chaine qui sera rajoutée après la valeur du composant (exemple : Ohm).


Les Display :

La couleur d’affichage est ‘Couleur’ (segments).

LogOnOff’ précise si un séparateur apparait (true) ou non (false).


Les jauges:

La plage de fonctionnement de la jauge est de 0 à 100.

La couleur de la jauge est donnée par 'Couleur'.

Si 'LogOnOff' est à true, la jauge est verticale sinon elle est horizontale.

Si 'Taux' est différent de zéro, la largeur ou l'épaisseur de la jauge est définie par 'Taux'.

'Max' défini la position de la jauge au départ.

Au cour du calcul, si 'Min' est différent de zéro et que la position est inférieure à 'Min', la couleur de la jauge devient rouge.


---------------------------------------------------------------------------------------------------------------------------------------


{ Données des DLL jointes aux Schémas }


TDonDll = record


TDonDll donne la possibilité à la DLL d’avoir dans le composant de son choix (AComposant) une zone mémoire sauvegardée avec le circuit.


Composant:longword;


C’est le numéro de DLL calculé par PELECTRO.


LgDonDll: word;


Taille de la zone réservée par la DLL.


DnDonDll: pointer;

end;


Pointeur sur la zone réservée.


---------------------------------------------------------------------------------------------------------------------------------------


{ Définition des bornes d'un composant }


TBorne = record

PosX: SmallInt; { Position X borne / Top bitmap }

PosY: SmallInt; { Position Y borne / Top Bitmap }


Position x et y de la borne par rapport au point RX et RY de l’image du composant. Ces deux zones ne sont pas utilisées dans l’enregistrement RComposant.


Bi: longword; { Composant type I attaché }

BR: word; { rang du composant attaché }

BVal: byte; { Borne composant attaché }

BBtr: byte; { Equivalent borne réelle d'un boîtier constructeur }


Bi est le RComposant du composant lié.

BR est le RangCompo du composant lié.

BVal est la borne du composant lié.

BBtr est le numéro de la borne réelle du composant dans un boîtier si différent de BVal.


end;


---------------------------------------------------------------------------------------------------------------------------------------


TLigne = record

PosX: SmallInt; { position x du lien }

PosY: SmallInt; { position y du lien }


PosX et PosY sont les positions d’un segment de départ ou d’arrivé parmi les segments formant la liaison. PosX et PosY sont à zéros lorsque la liaison est terminée.


End;


---------------------------------------------------------------------------------------------------------------------------------------


{Définition d'un composant à afficher}


RComposant = record


RComposant est une structure enregistrement (record) d’un des éléments qui constitue le composant proprement dit (AComposant). C’est à la DLL de fabriquer les enregistrements formant le composant AComposant. Voir procédures et fonctions.


RComposant: longword; { Composant I }


Il doit contenir le numéro calculé par PELECTRO de la DLL. Tous les composants contenus dans la DLL portent ce numéro. Voir par exemple le numéro de la DLL WH00 plus haut (CstWH00).


RNumCompo: word; { Composant J de I}


Ce champ représente le numéro d’ordre des composants dans la DLL définie par RComposant.


AffiCompo: integer; { A quel composant il est lié }


Il contient l’indice correspondant au composant AComposant dont il est un élément.


LienCompo: integer; { Lien avec un autre composant }


Lien avec un autre composant. LienCompo est la différence entre l’indice de l'autre RComposant lié et l’indice du RComposant qui le lie. Si positif, le lieur se trouve avant le lié. Si négatif, le lieur se trouve après le lié. Si nul pas de lien. Si 999999 une erreur s’est produite, il faut ressaisir le composant à relié.

Exemple dans la DLL WH00,

RangCompo: word; { No du composant dans sa classe I }


Le rang doit s’incrémenter de 1 à chaque nouvel enregistrement. Voir procédures et fonctions.


RNbBorn: word; { Nbre de borne du composant }


Peut prendre comme valeur 1 ou 2. voir RBorne ci-dessous. Ne peuvent figurer dans les enregistrements RComposant que des composants ayant une borne (exemple la masse) ou deux (par exemple une résistance, un condensateur, un interrupteur, etc...)


RBorne: array[0..1] of TBorne; { PosX et PosY peuvent servir de tag }


L’indice 0 correspond à la borne 0 du composant (exemple pour une résistance dans la DLL WH00, l’indice correspond au haut de celle-ci par rapport au point rouge de l’image du composant) et 1 à l’autre borne (soit pour la résistance, au bas du composant).


RABorn: array[0..1] of SmallInt; { Borne du composant affiché }


Si la borne 0 ou 1 ne correspond à aucune borne relier à l’extérieur (défini par l’enregistrement AComposant) ou plus généralement si la borne est reliée à un autre composant interne (même AffiCompo). Le composant RComposant doit avoir la valeur -1 dans RABorn[x] et les éléments de RComposant.RBorne doivent être renseignés. Sinon il doit comporter l’indice d'une des bornes d’AComposant.RBorne. Exemple un transistor aura 3 bornes 0,1 ou 2 correspondant au collecteur, base, émetteur, il faudra que les composants interne reliés à l’extérieur ait la valeur 0, 1 ou 2 dans RABorn[x]. Dans ce cas RComposant.RBorne[0], [1] ou [2] sera automatiquement rempli pas PELECTRO lorsque l’utilisateur reliera les composants AComposant entre eux. Remarque: Plusieurs composants interne de AComposant ne peuvent pas utiliser le même indice dans RABorn[x], sinon le composant AComposant ne fonctionnera pas.

Exemple dans WH00,

Sens: shortint; { Place réservée }

Rien1: array[0..2] of byte; { Place réservée }

Rien2: integer; { Place réservée }


Indice: SmallInt; { Rang tableau courant / tension voir (ZeroPot) }


Utilisé pour la simulation (exemple oscilloscope) de diverses grandeurs comme la tension d’un composant. Voir PDF correspondant.


Rien3: array[0..6] of word; { Place réservée }


RDonne: array[0..9] of double; { données du composant }

end;


Un sous composant RComposant d’un composant AComposant peut avoir au maximum 10 paramètres (de 0 à 9). Mais AComposant peut avoir plusieurs RComposant, les paramètres de AComposant (de 0 à 19) peuvent donc être répartis sur plusieurs RComposant. D’autre-part la DLL peut réserver un pointeur RPtr (ci-dessous) pour mettre d’autres valeurs en cas d’utilisation d’une base de données avec beaucoup de paramètres.

------------------------------------------------------------------------------------------------------------------------------------


{ Liste des composants à afficher }


AComposant = record


AComposant contient les informations qui serviront au fonctionnement de PELECTRO comme par exemple l’affichage du composant qui apparaîtra dans la fenêtre circuit.


RComposant: longword; { Composant I }


Il contient le numéro calculé par PELECTRO de la DLL composant ou instrument. Tous les composants contenus dans la DLL portent automatiquement ce numéro. Voir le numéro de la DLL WH00 plus haut (CstWH00).


RNumCompo: word; { Composant J de I}


Ce champ représente l’ordre établi des composants dans la DLL.


RTypCompo: array[0..9] of Char; { Caractère identifiant le composant }


Il contient les caractères identifiant la DLL des composants (exemple Std, Res, Ins) qui devront être différents d’une DLL à une autre. Les caractères sont codés en Unicode.


RX: integer; { Top X }

RY: integer; { Top Y }


RX et RY sont les coordonnées de référence du haut gauche du composant.


BX: word; { bas X droit }

BY: word; { bas Y droit }


BX et BY sont les coordonnées de référence du bas droit du composant par rapport à RX et RY.


PageCompo: word; { Place réservée }

Rien3: word; { Place réservée }


RangCompo: word; { No du composant dans sa classe I }


Rang successif des composants pour une même DLL. Le rang est calculé par PELECTRO à chaque nouveau composant affiché dans la fenêtre circuit. Il apparaît dans le nom du composant affiché (exemple: Std2, Ins1 etc.)


RotationA: SmallInt; { Angle de rotation }


Valeur utilisée par PELECTRO pour gérer les rotations.


RInterdit: set of TNotCompo;{ Interdire une fonction }


Voir TNotCompo plus haut.


RNbBorn: word; { Nbre de borne du composant }


C’est le nombre de bornes du composant de 1 à 61. Voir RBorne.


RBorne: array[0..60] of TBorne;


Tableau de 61 bornes maximum. Voir TBorne.


RBornS: array[0..60,0..19] of TLigne;


Segments (20 maximum) qui composent une liaison d’une des bornes pour un maximum de 61 bornes.


Rien2: smallint; { Place réservée }


ADonne: array[0..19,0..15] of Char; { données du composant }


Il est possible sans base de données par exemple d’avoir pour un composant 20 paramètres (fenêtre Valeurs de PELECTRO) qui décriront celui-ci. Exemple: La résistance, la température, la capacité, etc.). Tous les types simples de paramètres sont acceptés (réel, booléen, entier et texte). C’est à la DLL de tester et de corriger les erreurs de frappe ou de valeur (voir procédures et fonctions). Ensuite la DLL charge dans les constituants du composant les valeurs à leur bonne place dans RDonne (10 paramètres maximum, voir plus haut). Les caractères sont des caractères Unicode.


ADonDll: array[0..19] of TDonDll; { données des DLL }


20 DLL peuvent alimenter cette table de données qui est sauvegardée avec le circuit.


RInvers: SmallInt; { Inversion du Bitmap; -1=inversion }


Indique si l’inversion du composant a été demandée.


PosText: byte; { Position du texte }


Cette valeur place le texte du composant:

- 0, affiche le texte à droite.

- 1, affiche le texte au centre.

- 2, affiche le texte en dessous.

- 3, affiche le texte à droite et en dessous

- Une autre valeur, fonctionne comme 1.


TempTag: byte; { Place réservée }


RPtrCompo: pointer; { Pointeur pour sauvegarde données DLL }


Ce pointeur sur une zone mémoire ne peut être utilisé que par la DLL qui fait référence au composant de cet enregistrement.


TypeEnvCtrl: double;

TypeRecCtrl: double;


Ces deux zones servent à la DLL GestCompo, à envoyer ou à recevoir des données aux DLL. L’aide de GestCompo.dll est sur le site www.jbdevelop.com.


LgPtr: word; { longueur zone RPtrCompo }


Longueur de la zone RPtrCompo.


RLgPtr: word; { longueur zone RPtr }

RPtr: pointer; { Pointer sur une structure }


PELECTRO fournit à chaque composant AComposant une zone mémoire demandée au préalable par la DLL via la fonction TAreaCompo.

RLgPtr contient le nombre d’octets sur lesquels pointe RPtr.

Exemple:

---------------------------------------------------------------------------------------------------------------------------------------


PTAc = array of AComposant;

PTRc = array of RComposant;

PPTa = ^PTAc;

PPTr = ^PTRc;


Les tables des composants et des sous-composants n’ont pas de nombre de lignes défini.


PTPa = array of double;

PPTp = ^PTPa;


La taille de la table de paramètres dépend du nombre de DLL.


---------------------------------------------------------------------------------------------------------------------------------------


{ Table des DLL }

L’enregistrement ci-dessous regroupe les informations recueillies par PELECTRO pour une DLL donnée.


TabLibDll = record


Name: array[0..16] of Char;


Ici se trouve le nom de la DLL chargée. Les caractères sont codés en Unicode.


Handle: HModule;


Contient le Handle de la DLL. Celui-ci servira à l’accès aux procédures de la DLL.


Composant: longword;


Composant est calculé par PELECTRO en fonction du nom de la DLL. Il est utilisé pour tous les composants de la DLL.


Operat: word;


Ici se trouvent toutes les constantes d’opération de la DLL comme Parameter, Plugins, etc.…


RangCp: word;


Cette zone est utilisée par PELECTRO.


Divers: byte;


La DLL peut spécifier l'un des types suivants:

= 0 si la DLL n'active pas de fenêtre dans la fonction TChangeCompo.

= 1 si la fonction TCalCompo contient un traitement.

= 2 si une fonction de la DLL appelle une fonction TCalCompo d'une autre DLL.

Chaque type est exclusif. Une DLL ne peut pas être de type 1 et 2 car PELECTRO ne fonctionnera pas.


Activate: byte;


Cette zone est utilisée par PELECTRO pour compter le nombre d'instances actives correspondant à cette DLL. Elle permet, en liaison avec le champ « Divers », d'autoriser le lancement d'une instance d'une autre DLL.

La fonction de lancement de « TchangeCompo » est implémentée de la façon suivante dans le programme principal PELECTRO:

Si le retour de la fonction est false, l'instance de la DLL n'est pas lancée.


NbrMaxCompo: word;


Correspond au nombre maximum de composants de la DLL pouvant figurer sur le schéma en cours (fonction TGetMaxCompo).


NbrCompo: word;

end;


Il indique le nombre de composants de la DLL dans le circuit en cours.


TabDll = array of TabLibDll;

PTabd = ^TabDll;


200 DLL peuvent être chargées par PELECTRO dans cette table.


---------------------------------------------------------------------------------------------------------------------------------------


Cette zone est utilisée conjointement avec la fonction TCalOpera (voir ci-dessous).


TTabCompoOp = record

R: double;


Il s’agit de l’impédance d’une résistance.


C: double;


Il s’agit de la capacitance de la capacité.


L: double;


Il s’agit de l’inductance de l’inductance.


E: double;


Valeur d’une source de tension.


I: double;


Valeur de la source de courant.


TypeLien: word;


Valeur du lien,

1 courant/courant

2 courant/tension

3 tension/tension

4 tension/courant


// 2 composants pouvant être liés

Beta1: double; { facteur de TypeLien }

Lien1: integer; { Composant lié }

Beta2: double; { facteur 2 de TypeLien }

Lien2: integer; { Composant 2 lié }

end;


Beta1 et Beta2 sont les coefficients du lien Lien1 et Lien2 respectivement. Si ces zones ne sont pas utilisées, Beta1/Beta2 doivent être à 0 et les liens Lien1/Lien2 à -1.




Fonctions PELECTRO


TGetTypOp = function:word; stdcall;


Cette fonction doit être présente dans la DLL.

Voici des exemples de fonction GetTypOp pour les DLL.


La DLL informe PELECTRO qu’il s’agit d’une DLL de composants et qu’elle doit figurer dans le menu Plugins.


result := (Parameter or MenuPopUp or Plugins);


Les possibilités de cette DLL est d’apparaître dans les menus Plugins, paramètres et dans Popup de PELECTRO. D’autres procédures / fonctions seront nécessaires pour qu’elle puisse fonctionner correctement.


TMemDonDll= function:integer; stdcall;


Cette fonction peut être présente dans la DLL si la constante Composant ou Instrument figure comme opération de la DLL.

TMemDonDll permet de réserver par PELECTRO une zone mémoire dont la longueur est donnée par le retour de cette fonction. Le pointeur qui recevra cette zone est RPtrCompo.


TIdentity = procedure(var Comment, Autors, Version, site, NameDll: ShortString); stdcall;


Cette fonction doit être présente dans la DLL quel que soit la constante qui figure comme opération de la DLL.

Exemple:


D1 est le nom de la DLL.

N1 l’auteur.

V1 la version.

C1 éventuellement le site web.

M1 une phrase décrivant le contenu de la DLL.


TGetCompo = procedure(ListCompo:PChar; n:integer; NoLg:word; NoList: word = 0); stdcall;


Cette procédure doit être présente dans la DLL si la constante Composant ou Instrument figure comme opération de la DLL.

Cette procédure permet de transmettre les noms des composants et le nom de la bibliothèque par ListCompo.

Le nom de la bibliothèque doit être précédé par le caractère ‘P’ et se terminer par le caractère ‘;’.

Chaque nom de composant doit commencer par le caractère ‘I’ et se terminer par le caractère ‘;’.

n est le nombre de caractères maximum+1 admissible par ListCompo.

Exemple de ListCompo:

Ptransistors;I2N2222;I2N2229; etc……….’.

NoLg contient le numéro de langue (exemple $0C pour le français, voir plus haut).

Pour les DLL instruments seulement le nom doit figurer dans ListCompo. Exemple ‘Oscilloscope;’.


TAreaCompo= function(H:HWND; A: AComposant; var TBDll: TabDll;var Parm: PTPa):integer; stdcall;


Cette fonction doit être présente dans la DLL si la constante Composant ou Instrument figure comme opération de la DLL.

La fonction TAreaCompo renvoie la taille de la zone mémoire qui sera atteignable par le pointeur RPtr.

Exemple:



TRInCompo = TAreaCompo;


Cette fonction permet de fournir le nombre maximum à réserver pour les sous composants utilisés par la DLL.

Exemple:



TMakeCompo= function(H:HWND; i: word; A:PTAc;var TBDll: TabDll;var Parm: PTPa; P:pointer; NoLg:word):boolean; stdcall;


Cette fonction doit être présente dans la DLL si la constante Composant ou Instrument figure comme opération de la DLL.

Cette fonction permet de créer le composant AComposant.

Les paramètres:

H correspond au handle de l’application PELECTRO.

i est l’indice de l’endroit où l’AComposant doit être mis à jour.

A est un pointeur sur la table des AComposant.

TBDll est le tableau des informations relatives aux DLL.

Parm un pointeur sur la table des paramètres.

P un pointeur sur la zone réservée par PELECTRO pour un composant AComposant.

NoLg est le Numéro de langue.

Si la fonction s’est bien terminée, le retour de la fonction doit être à true.

Exemple :



TInitFlag = procedure(var A: AComposant); stdcall;


Cette procédure peut être présente dans la DLL si la constante Composant ou Instrument figure comme opération de la DLL.

Si cette procédure ne figure pas les composants de la DLL seront mis à D.RInterdit =[jbOpen] et les instruments à [].

Permet d’initialiser les indicateurs d’un composant AComposant.

Exemple:



TChangeCompo=function(H:HWND; I,ACount: word;var A:PTAc;var TBDll: TabDll;var Parm: PTPa; NoLg:word):boolean; stdcall;


Cette fonction doit être présente dans la DLL si la constante Composant ou Instrument figure comme opération de la DLL.

Cette fonction permet de mettre à jour le composant AComposant si la DLL est de type composants.

Cette fonction pour une DLL Instrument permet de lancer l’ouverture de l’instrument (affichage d’une fiche).

Les paramètres:

H correspond au handle de l’application PELECTRO.

i est l’indice de l’endroit où est l’AComposant.

ACount le nombre d’élément dans la table contenant les AComposants.

A est la table des AComposant.

TBDll est le tableau des informations relatives aux DLL.

Parm la table des paramètres.

NoLg le numéro de langue en cours.

Si la fonction s’est bien terminée, le retour de la fonction doit être à false.



TOpenCompo=function(H:HWND; i: word;var A:PTAc;var TBDll: TabDll; Parm: PTPa; NoLg:word):boolean; stdcall;


Cette fonction peut être présente dans la DLL si la constante Composant ou Instrument figure comme opération de la DLL.

Cette fonction permet de mettre à jour les composants AComposant à l’ouverture d’un nouveau circuit. Par exemple ceux qui utilisent une base de données pourront mettre à jour les circuits qui contiennent leurs références en cas de changement de paramètres de la base de données (Par le Plugins DataBase éventuellement).

Cette fonction si elle est présente appellera généralement la fonction TchangeCompo, ci-dessus, s’il s’agit d’une DLL de composants.

Les paramètres:

H correspond au handle de l’application PELECTRO.

i est l’indice de l’endroit où est l’AComposant.

A est un pointeur sur la table des AComposant.

TBDll est le tableau des informations relatives aux DLL.

Parm un pointeur sur la table des paramètres.

NoLg le numéro de langue.

Si la fonction s’est bien terminée, le retour de la fonction doit être à false.

Exemple de code pour la DLL transistors.



TPointCompo= procedure(var A: AComposant); stdcall;


Cette procédure doit être présente dans la DLL si la constante Composant ou Instrument figure comme opération de la DLL.

Permet de mettre à jour les informations de AComposant. Celles qui sont obligatoires dans cette routine sont:

A.BX et BY aux dimensions du bitmap.

A.RNbBorn le nombre de bornes.

A.RBorne en fonction du nombre indiqué par A.RNbBorn -1.


TDonneCompo= procedure(var h:HBITMAP;var A:AComposant; Update:Boolean); stdcall;


Cette procédure doit être présente dans la DLL si la constante Composant ou Instrument figure comme opération de la DLL.

PELECTRO par l’indicateur Update demande à la procédure de réinitialiser les données définies dans TPointCompo.

D’autre part PELECTRO veut recevoir l’image du composant AComposant qui sera affichée dans la fenêtre Circuit.

Exemple:



TCtlValCompo=procedure(ListVal:PChar; n,j:integer; NoLg:word;var A:PTAc; iPos,Ni:word); stdcall;


Cette procédure doit être présente dans la DLL si la constante Composant figure comme opération de la DLL.

ListVal est une liste en entrée et en sortie.

n est le nombre de caractères maximum+1 de ListVal.

j le jème composants de la DLL. j débute à 0.

NoLg contient le numéro de langue (exemple $0C pour le français, voir plus haut).


ListVal en entrée est la liste des valeurs du composant telles qu’elles apparaissent dans la fenêtre Valeurs de PELECTRO après la saisie par l’utilisateur. Chaque valeur est séparée par un point-virgule ‘;’.

La DLL doit contrôler la validité de ces saisies.

ListVal en sortie est la liste des valeurs aussi bien valides que corrigées toujours séparées par un caractère point-virgule ‘;’.


TImagCompo= procedure(i: integer;var H: HBITMAP; NoList: word = 0); stdcall;


Cette procédure doit être présente dans la DLL si la constante Composant ou Instrument figure comme opération de la DLL.

Pour les DLL Composants, i est la ième image des composants de la DLL. Si i est à 0 alors il faut transmettre l’image que l’on veut voir apparaître dans l’onglet de la bibliothèque de la fenêtre des composants.

Exemple de code:


Si la DLL est de type instrument alors une seule image doit être transmise, celle caractérisant l’instrument.


TGetValCompo=procedure(ListCompo: PChar; n,j: integer; NoLg: word); stdcall;


Cette procédure doit être présente dans la DLL si la constante Composant figure comme opération de la DLL.

ListCompo est une liste en sortie des valeurs par défaut, du composant, séparées par un point-virgule ‘;’.

n est le nombre de caractères maximum+1 de ListCompo.

j le jème composants de la DLL. j débute à 0.

NoLg contient le numéro de langue (exemple $0C pour le français, voir plus haut).


Une valeur est constituée de la manière suivante:

Le libellé du champ terminé par point-virgule.

La valeur du champ débutant par ‘s’, ’f’, ’b’ ou ‘i’ (string, float, boolean ou integer) puis le caractère ‘t’ ou ‘f’ (true ou false pour savoir si la zone est modifiable ou grisée), une chaîne du type de la valeur du champ (exemples si le type est ‘i’, la chaîne est un integer comme ‘10’. Si le type est ‘f’ la chaîne est un float comme ‘1,2E-5’. Etc.) finie par le caractère ‘;’.

L’unité de mesure suivie du caractère ‘;’.

Exemple d’une valeur: ‘Taux;it100;%;’. Ce champs sera modifiable.


TGetMaxCompo=function(): byte; stdcall;


Cette fonction peut être présente dans la DLL si la constante Composant ou Instrument figure comme opération de la DLL.

Le résultat de TGetMaxCompo représente le nombre maximum de composants de la DLL qui peuvent être utilisés sur un circuit. Cela permet de limiter par exemple en démonstration l’utilisation de la DLL.

La valeur 0 ou l’absence de cette fonction signifie que le nombre de composants est illimité.


TCopyParam = function(var parm: PTPa; i: integer):boolean; stdcall;


Cette fonction doit être présente dans la DLL si la constante Parameter figure comme opération de la DLL.

Parm représente la liste des paramètres à mettre à jour. L’indice du premier paramètre est donné par i. Le nombre de paramètres est fixé par la variable NbrParDll par DLL. Le retour à true signifie qu’une erreur s’est produite.

Un exemple d’utilisation pour un seul paramètre géré par la DLL.



TGetMenuCompo=procedure(LCompo: PChar; n: integer;var h: HBITMAP; NoLg: word); stdcall;


Cette procédure doit être présente si la constante MenuPopUp figure dans la DLL.

L’image définie par h sera affichée dans le PopUp de PELECTRO (clic droit sur un composant du circuit).

LCompo est le libellé qui apparaitra dans l’item du menu PopUp.

n est la longueur maximum+1 de LCompo que peut recevoir PELECTRO.

NoLg contient le numéro de langue (exemple $0C pour le français, voir plus haut).

Exemple:



TPrintCompo= function(var parm: PTPa; ListCompo: PChar; n,i: integer; NoLg: word; var TBDll: TabDll; out Pos,Width: double; out Eof :boolean):boolean; stdcall;


Cette fonction peut être présente dans la DLL si la constante Composant ou Instrument figure comme opération de la DLL.

Permet d’imprimer un texte dans PELECTRO lors de la demande d’impression des instruments ou des composants des fenêtres correspondantes.


N, i, Parm, et TBDll est en entrée.

NoLg contient le numéro de langue (exemple $0C pour le français, voir plus haut).

Pos, width et Eof en sortie.

ListCompo en entrée/sortie.

Parm contient les paramètres de PELECTRO et des DLL.

TBDll contient les informations sur les DLL qui ont été chargées par PELECTRO.

N est la longueur maximum+1 des caractères du champ ListCompo.

i représente la ième itération de la fonction TPrintCompo pour la DLL.

ListCompo est la chaîne de caractères à imprimer.

Pos et Width permettent, si Pos et Width sont >0, d’imprimer ListCompo à la position Pos sur une largueur Width.

Si Width=-1 l’impression se fait sur une ligne.

Si Pos=-1 il s’agit d’un changement de page.

Si Width=0 l’impression d’une ligne blanche s’effectue.

Si Pos=0 une ligne de tirets s’imprime.

Si Pos et Width <-1 l’impression de la ‘Pos’ image du composant ou de l’instrument depuis ImagCompo s’effectue sur la ‘Width’ ligne.

Les autres combinaisons possibles de Pos et de Width ne sont pas pour le moment implémentées.

Eof indique la fin de l’impression par la DLL si égal à true.

Exemple:

Si la DLL veut imprimer 11 lignes. i variera de 0 à 9 avec Eof=false. Puis i=10 et Eof devra été positionnée à true.


TEchelle = function(x,y:integer; TypDxy:word; PFx,PFy:PChar):boolean; stdcall;


Cette fonction doit être présente dans la DLL si le message WM_ECHELLE est utilisé par la DLL.

Les paramètres x et y sont les coordonnées en pixels du circuit PELECTRO. TypDxy est un entier indiquant le type d’échelle utilisée dans les paramètres de retour PFx et PFy. PFx et PFy sont les caractères des coordonnées x,y exprimées dans l’échelle TypDxy qui seront directement affichés dans la fenêtre des contrôles.

La fonction TEchelle pourrait être la suivante. Pixels pour les points à l’écran (0), MIL pour CiDess (1), Pouces (2) pour les circuits gravés (exemple CiDess).



TGetParam = procedure(ListParam: PChar; n: integer;var H: HBITMAP; NoLg: word); stdcall;


Cette procédure doit être présente dans la DLL si la constante Parameter figure comme opération de la DLL.

ListParam contient le nom qui figurera dans la liste de la fenêtre des paramètres (menu Paramètres->Options générales).

n le nombre de caractères +1.

H est l’handle par lequel une seule image doit être transmise. Cette image figurera aussi dans la liste de la fenêtre des paramètres de PELECTRO.

NoLg contient le numéro de langue (exemple $0C pour le français, voir plus haut).

Exemple:



TActivParam =function(H: HWND;var TBDll: TabDll; Parm: PTPa):boolean; stdcall;


Cette fonction doit être présente dans la DLL si la constante Parameter figure comme opération de la DLL.

Cette fonction permet à la DLL d’afficher sa fenêtre de paramètres.

H est le handle de PELECTRO.

TBDll est la liste des DLL chargées par PELECTRO.

Parm est la liste des paramètres généraux de l’application.

Le retour de fonction doit être à false si aucune erreur n’a été détectée.


TNumChgCompo=function(H:HWND; i,ACount: word;var A:PTAc;var TBDll: TabDll;var Parm: PTPa; Ctrl: boolean; PagItem,JNum: integer):boolean; stdcall;


Cette routine permet de savoir si la touche contrôle a été pressée sur la liste des composants pour éventuellement un changement de référence. Attention cette fonction n’est active que si la DLL est du type Composant.

La fonction TNumChgCompo doit, elle-même, appeler la fonction TChangeCompo.

Trois paramètres supplémentaires Ctrl, PagItem et JNum permettent de gérer le changement de référence.

Ctrl contient ‘true’ si la touche contrôle est utilisée.

PagItem est l’indice de la DLL sur laquelle le changement de référence a été demandé.

JNum est le RNumCompo de la nouvelle référence.

i est l’indice de l’ancienne référence.

Un exemple de code est donné ci-dessous (cas des transistors).



TCalCompo = function(Op: word;var A:PTAc;var R:PTRc; NumLg: word;var TBDll: TabDll; i: integer;var Ai,Vi: TI;out iq: double;var Vm: TI; i1: integer;var Par,Par2: TI; Dxt,Ta,T: double;Def: boolean; Ano: PChar; n: integer;var TY: TA; out Ok: smallint;var Parm:PTPa; iB:integer):boolean; stdcall;


Cette fonction permet de calculer le courant ou la tension d’un sous composant R. Exemple i:=v/r pour une résistance simple.


Op détermine l’opération en cours. Voir exemple de DLL et le programme oscilloscope sur mon site.

NumLg contient le numéro de langue (exemple $0C pour le français, voir plus haut).

Ok permet en sortie de la fonction d’effectuer une opération particulière. Voir PDF des différents instruments figurant dans mon site.

n taille maximum+1 de la chaîne des Ano. A zéro si Ano n’est pas disponible.

i est le rang du composant dans la table A.

i1 est le rang du sous composant de la table R.

Ai et Vi sont les tables de courant et de tension pour les composants liés (source courant/courant, etc.).

iq est le courant ou la tension calculé par le sous composant R[i1].

Dxt le temps en cours de calcul.

Ta la température ambiante.

T le delta de temps en cours.

iB le nombre de point pour le temps en cours.

Parm la table des paramètres de PELECTRO.

Ano la liste des anomalies trouvées mises sous forme de chaînes.

TY la table des valeurs min et max que le composant peut normalement prendre.

Vm la table des valeurs (courant ou tension) calculées par linéarisation des dérivées partielles en cours.

Par le paramètre du sous composant R[i1]. Par exemple la tension précédente d’une capacité.

Par2 le paramètre du composant A[i]. Il s’agit de la température précédente du composant.


TInfoCompo = Procedure(H: HWND; i,ACount:word;var A:PTAc;var TBDll: TabDll;var Parm:PTPa; ListInfo:PChar; n:integer; NumLg:word); stdcall


Cette fonction peut être présente dans la DLL si la constante Composant ou Instrument figure comme opération de la DLL.

Cette fonction permet d’afficher dans une infobulle les caractéristiques principales du composant. Si cette procédure n’existe pas, alors c’est la première valeur, si elle n'est pas vide, figurant dans le composant (Adonne[0]) qui est affichée, sinon c’est un message indiquant que les informations ne sont pas disponibles qui s’affiche.


i est le rang du composant dans la table A.

Parm la table des paramètres de PELECTRO.

ListInfo est une liste en sortie des valeurs d’informations du composant, séparées par un point virgule ‘;’.

n est le nombre de caractères maximum+1 de ListInfo.

NumLg contient le numéro de langue (exemple $0C pour le français, voir plus haut).


TInitParCompo=function(H:HWND; i:word;var j: word;var A:PTAc;var R:PTRc;var TBDll:TabDll; var T:word; var Parm: PTPa; NoLg:word ; Tval: PTPa = nil ; Bval: boolean = false):boolean; stdcall;


Cette fonction peut être présente dans la DLL si la constante Composant figure comme opération de la DLL.

Cette fonction permet de mettre à jour les paramètres d’un composant AComposant (elle est utilisée dans les instruments pour initialiser les paramètres voir par exemple les Composants CMOS).


Les paramètres:

H correspond au handle de l’application PELECTRO.

i est l’indice de l’endroit où est l’AComposant.

j est l’indice à partir de l’endroit où les RComposant doivent être mis à jour.

A est un pointeur sur la table des AComposant.

R est un pointeur sur la table des RComposant.

TBDll est le tableau des informations relatives aux DLL.

T est le rang en cours pour les sous-composants.

Parm un pointeur sur la table des paramètres.

NoLg est la langue utilisée.

Si la fonction s’est bien terminée, le retour de la fonction doit être à true.


TTypeCompoVisual=function(A: AComposant;out TypeDonVisual:TTypeCompoDonVisual; var Pa: PTPa): byte; stdcall;


Cette fonction retourne TypeDonVisual de type TTypeCompoDonVisual (découpage fourni plus haut) et le type de composant à afficher de 1 à 5 dans une zone ‘byte’.


A est la table des AComposant.


TCalOpera = function(var A:PTAc;var R:PTRc; var Vm, Vj: TI ;NLg:word;var TBDll:TabDll; i,n: integer; out Compo: TTabCompoOp; i1: integer; iB: integer; Dxt,Ta,T: double; Ano: Pchar; var Parm:PTPa; var Par,Par2: TI):boolean; stdcall;


Cette fonction permet de retourner Compo (TTabCompoOp) qui est la zone décrite plus haut.

Chaque DLL doit avoir cette fonction. Les champs TTabCompoOp sont renseignés en fonction des composants.

A composants du schéma.

R sous-composants.

NLg langue utilisée.

TBDll table des DLL chargées.

i est le rang du composant dans la table R.

n taille maximum+1 des chaines Ano.

i1 est l’indice des R sans tenir compte des sous-composants masses et en courts-circuits.

iB le nombre de point pour le temps en cours.

Dxt le temps en cours de calcul.

Ta la température ambiante.

T le delta de temps en cours.

Parm la table des paramètres de PELECTRO.

Par le paramètre du sous composant R[i]. Par exemple la tension précédente d’une capacité.

Par2 le paramètre du composant A[?] ( ? étant l’indice AffiCompo du sous-composant). Il s’agit de la température précédente du composant.

Le retour, est normalement à False.


TPELECTRO = procedure(H,Main: HWND; NumLg: word; Var TBDll: TabDll; VersPElec:Pchar); stdcall;


Cette fonction TPELECTRO qui doit être présente dans la DLL, l'informe sur

H le handle de l’application.

Main le handle de la fenêtre de PELECTRO.

La langue NumLg utilisée.

TBDll, la table des DLL chargées.

Et VersPElec le numéro de version de l’application.


TMesPElec = function(H: HWND; Nlg: word;Var TBDll: TabDll; VersPElec: PChar; var Parm: PTPa; var MesIn: TMessage; Fmain: Pointer):boolean; stdcall;


Cette fonction est utilisée uniquement dans la première DLL qui comporte la constante Tools. Elle affiche le message qui figure dans TMessage avec la fenêtre FMain de l’appelant.

H est le handle de l’application.

NLg la langue.

TBDll la table des DLL.

VersPElec la version de l’application.

Parm les paramètres.

MesIn le message (voir format du message WM_ADDMES).

FMain, la fenêtre TForm de l’application.

Le retour, est normalement à false.


TAltPElec = function(H: HWND; Nlg: word;var TBDll: TabDll; VersPElec: PChar; var Parm: PTPa; AltIn: pointer):boolean; stdcall;


Cette fonction est utilisée uniquement dans la première DLL qui comporte la constante Tools. Elle doit fournir les paramètres utilisés pour l’affichage des messages du composant TJvDesktopAlert utilisé par PELECTRO. Il faut que la DLL, qui utilise cette fonction, intègre dans sa gestion ce composant.

H est le handle de l’application.

NLg, la langue utilisée.

TBDll, la table des DLL.

VersPElec, la version de l’application.

Parm est la table des paramètres.

AltIn, un pointer sur l’instance du composant TJvDesktopAlert.

En retour,

AltPElec doit renvoyer true si l’affichage des messages d'alerte est autorisé sinon false.