Logo PYRAMIDEwww.pyramid.tech
FX4
Manuel du programmeur FX4
Identifiant du document : 2711715845
Version: v3Programmeur PYRAMID FX4

Programmeur FX4

Identifiant du document : 2711715845
FX4 – Manuel du programmeur FX4

Programmeur PYRAMID FX4 - icône Identifiant du document : 2711650310

Auteur Matthieu Nichols
Propriétaire Chef de projet
But Expliquer les concepts de programmation nécessaires pour utiliser l'API et étendre le produit via des applications externes.
Portée Concepts de programmation liés au FX4.
Public visé Développeurs de logiciels intéressés à utiliser le produit.
Processus https://pyramidtc.atlassian.net/wiki/pages/createpage.action?
spaceKey=PQ&title=Processus%20de%20création%20du%XNUMXmanuel%XNUMXstandard
Entraînement PAS APPLICABLE

Contrôle de version

Version Description  Enregistré par  Enregistré sur  Statut
v3 Ajout d'un simple overview et plus d'examples. Matthieu Nichols 6 mars 2025 10h29 APPROUVÉ
v2 Ajout d'interfaces d'E/S numériques et de références à IGX. Matthieu Nichols 3 mai 2024 7h39 APPROUVÉ
v1 Version initiale, toujours en cours de développement. Matthieu Nichols 21 février 2024, 11h25 APPROUVÉ

Programmeur PYRAMID FX4 - icône 1 Contrôle des Documents Pas réviewed
Version actuelle du document : v.1
Nonviewers affectés.

1.1 Signatures
pour la version la plus récente du document
Vendredi 7 mars 2025, 10h33 UTC
Matthew Nichols a signé ; signifiant : Review

Références

Document ID du document  Auteur  Version
IGX – Manuel du programmeur 2439249921 Matthieu Nichols 1

Programmation FX4 terminéeview

Le processeur FX4 fonctionne sur un environnement appelé IGX, qui est construit sur le système d'exploitation en temps réel haute fiabilité QNX de BlackBerry (QNX Website¹). IGX fournit une interface de programmation d'application (API) flexible et complète pour les utilisateurs qui souhaitent écrire leur propre logiciel d'ordinateur hôte.
L'environnement IGX est partagé entre d'autres produits Pyramid, ce qui permet aux solutions logicielles développées pour un produit d'être facilement transférées vers d'autres.
Les programmeurs peuvent se référer à la documentation complète d'IGX disponible sur Pyramid website à: IGX | Cadre de système de contrôle modulaire moderne pour Web-Applications activées²

Cette section propose une introduction au test de deux méthodes de l'API : HTTP au format JSON et EPICS. Pour plus de simplicité, Python (Python Website³) est utilisé comme example langage informatique hôte, accessible et facile à utiliser pour les programmeurs non professionnels.

3.1 Utilisation de Python et HTTP
En tant qu'exampSupposons que vous souhaitiez lire la somme des courants mesurés avec Python. Vous avez besoin de URL pour cette entrée/sortie particulière. Le FX4 web L'interface graphique fournit un moyen simple de le trouver : faites simplement un clic droit dans le champ et sélectionnez « Copier HTTP ». URL' pour copier la chaîne dans le presse-papiers.

Programmeur PYRAMID FX4 : utilisation de Python et HTTP

Vous pouvez désormais utiliser Python pour tester la connectivité aux logiciels utilisateur via HTTP et JSON. Vous devrez peut-être importer les requêtes et les bibliothèques JSON pour gérer les requêtes HTTP et l'analyse des données.

Programmeur PYRAMID FX4 - Requêtes HTTP et analyse de données1 exemple simple de Python HTTPample

3.2 Utilisation d'EPICS
Le processus de connexion du FX4 via EPICS (Système de physique expérimentale et de contrôle industriel) est similaire. EPICS est un ensemble d'outils logiciels et d'applications permettant de développer et de mettre en œuvre des systèmes de contrôle distribué, largement utilisés dans les installations scientifiques.

  1. https://blackberry.qnx.com/en
  2. https://pyramid.tech/products/igx
  3. https://www.python.org/
  1. Obtenez le nom de la variable de processus EPICS (PV) pour l'E/S souhaitée.
  2. Importez la bibliothèque EPICS et lisez la valeur.

Programmeur PYRAMID FX4 - Variable de processus EPICS2 Obtenir le nom du PV EPICSProgrammeur PYRAMID FX4 - Exécution Python EPICS simpleample3 exercices simples en Python EPICSample

De plus, Pyramid a créé un utilitaire (Connexion EPICS⁴) qui vous permet de surveiller les variables de processus EPICS en temps réel. Cet outil est utile pour vérifier que le nom du PV EPICS est correct et que le FX4 le gère correctement sur votre réseau.

Programmateur PYRAMID FX4 - EPICS Connect4 PTC EPICS Connect

API de programmation FX4

Les concepts et méthodes décrits dans ce manuel s'appuient sur les concepts établis dans le IGX – Manuel du programmeur. Veuillez consulter ce document pour des explications et exampinformations sur le fonctionnement de la programmation et des interfaces IGX de base. Ce manuel ne couvrira que les E/S spécifiques au périphérique et les fonctionnalités uniques au FX4.

4.1 Entrée analogique IO
Ces IO concernent la configuration et la collecte de données sur les entrées analogiques courant du FX4. Les unités des entrées de canal sont basées sur le paramètre configurable par l'utilisateur appelé « S ».ample Units », les options valides incluent pA, nA, uA, mA et A.
Les 4 canaux utilisent la même interface IO et sont contrôlés indépendamment. Remplacez canal_x par canal_1 , canal_2 , canal_3 ou canal_4 respectivement.

Chemin d'E/S Description
/fx4/adc/channel_x NUMÉRO EN LECTURE SEULE Entrée de courant mesurée.
/fx4/adc/channel_x/scalaire NOMBRE Scalaire simple sans unité appliqué au canal, 1 par défaut.
/fx4/adc/channel_x/zero_offset NOMBRE Décalage actuel en nA pour le canal.

Les E/S suivantes ne sont pas indépendantes du canal et sont appliquées simultanément à tous les canaux.

Chemin d'E/S  Description
/fx4/somme_canal NUMÉRO EN LECTURE SEULE Somme des canaux d'entrée actuels.
/fx4/adc_unit STRING Définit les unités utilisateur actuelles pour chaque canal et la somme.
Options : « pa », « na », « ua », « ma », « a »
/fx4/plage STRING définit la plage d'entrée actuelle. Consultez l'interface graphique pour connaître la correspondance entre chaque code de plage et les limites d'entrée maximales et la largeur de bande.
Options : « 0 », « 1 », « 2 », « 3 », « 4 », « 5 », « 6 », « 7 »
/fx4/adc/sample_fréquence NOMBRE La fréquence en Hz qui samples données seront moyennées. Cela contrôle le rapport signal/bruit et le débit de données pour tous les canaux.
/fx4/adc/fréquence_de_conversion NOMBRE : fréquence en Hz à laquelle le CAN convertit les valeurs analogiques en valeurs numériques. Par défaut, cette valeur est de 100 kHz et vous n'aurez que rarement besoin de la modifier.
/fx4/adc/offset_correction NUMÉRO EN LECTURE SEULE Somme de tous les décalages actuels du canal.

4.2 Sortie analogique E/S
Ces IO concernent la configuration des sorties analogiques à usage général du FX4 situées sous les entrées analogiques en face avant. Les 4 canaux utilisent la même interface IO et sont contrôlés indépendamment. Remplacez canal_x par canal_1 , canal_2 , canal_3 ou canal_4 respectivement.

Chemin d'E/S  Description
/fx4/dac /channel_x Commande NUMÉRO voltage sortie. Cette valeur ne peut être écrite que lorsque le mode de sortie est défini sur manuel.
/fx4/dac/channel_x/readback NUMÉRO EN LECTURE SEULE Vol. mesurétage sortie.
Ceci est particulièrement utile lors de l’utilisation du mode de sortie d’expression.
/fx4/dac/channel_x/output_mode STRING Définit le mode de sortie du canal.
Options : "manuel", "expression", "process_control"
/fx4/dac/channel_x/slew_control_enable BOOL Active ou désactive la limitation de la vitesse de balayage.
/fx4/dac/canal_x/taux_de_balayage NUMÉRO Vitesse de balayage en V/s pour le canal.
/fx4/dac/channel_x/upper_limit NOMBRE Le volume de commande maximal autorisétage pour la chaîne. S'applique à tous les modes de fonctionnement.
/fx4/dac/canal_x/limite_inférieure NOMBRE Le volume de commande minimum autorisétage pour la chaîne. S'applique à tous les modes de fonctionnement.
/fx4/dac/channel _ x/ sortie _ expression STRING Définit la chaîne d'expression utilisée par le canal lorsqu'il est en mode de sortie d'expression.
/fx4/dac/channel_x/reset_button BOUTON Réinitialise le volume de commandetage à 0.

4.3 Entrées et sorties numériques
Ces E/S concernent le contrôle des différentes entrées et sorties numériques à usage général présentes sur le FX4.

Chemin d'E/S  Description
/fx4/fr1 READONLY BOOL Récepteur fibre 1.
/fx4/ft1 BOOL Transmetteur à fibre 1.
/fx4/fr2 READONLY BOOL Récepteur fibre 2.
/fx4/ft2 BOOL Transmetteur à fibre 2.
/fx4/fr3 READONLY BOOL Récepteur fibre 3.
/fx4/ft3 BOOL Transmetteur à fibre 3.
/fx4/digital_expansion/d1 BOOL D1 extension numérique bidirectionnelle IO.
/fx4/digital_expansion/d2 BOOL D2 extension numérique bidirectionnelle IO.
/fx4/digital_expansion/d3 BOOL D3 extension numérique bidirectionnelle IO.
/fx4/digital_expansion/d4 BOOL D4 extension numérique bidirectionnelle IO.

4.3.1 Configuration des E/S numériques
Tous les éléments numériques disposent d'E/S enfants permettant de configurer leur comportement, notamment un mode de fonctionnement qui contrôle leur fonctionnement. Chaque élément numérique dispose d'un ensemble d'options différentes. Consultez l'interface graphique pour plus de détails sur les options disponibles pour chaque E/S.

Chemin d'E/S enfant Description
…/mode Mode de fonctionnement STRING pour le numérique.
Options : « entrée », « sortie », « pwm », « minuterie », « encodeur », « capture », « uart_rx », « uart_tx », « can_rx », « can_tx », « pru_input » ou « pru_output »
…/signal_de_processus STRING Le nom du signal de contrôle de processus, s'il y en a un.
…/pull_mode STRING Mode pull up/down pour une entrée numérique.
Options : « haut », « bas » ou « désactiver »

4.4 Contrôle des relais
Les deux relais sont contrôlés indépendamment et partagent le même type d'interface. Remplacez relay_x par relay_a ou relay_b respectivement.

Chemin d'E/S  Description
/fx4/relay _ x/permit / utilisateur _ commande BOOL Commande l'ouverture ou la fermeture du relais. Une commande vraie tentera de fermer le relais si les verrouillages sont accordés, tandis qu'une commande fausse l'ouvrira systématiquement.
/fx4/relais _ x/état CHAÎNE EN LECTURE SEULE L'état actuel du relais.
Les relais verrouillés sont ouverts mais ne peuvent pas être fermés en raison d'un verrouillage.
États : « ouvert », « fermé » ou « verrouillé »
/fx4/relay _ x/fermeture _ automatique BOOL Lorsqu'il est défini sur vrai, le relais se ferme automatiquement lorsque les verrouillages sont accordés. Faux par défaut.
/fx4/relay _ x/ cycle _ count NUMÉRO EN LECTURE SEULE : nombre de cycles de relais depuis la dernière réinitialisation. Utile pour suivre la durée de vie du relais.

4.5 Vol élevétagModule e
Voir le manuel du programmeur IGX pour plus de détails sur le FX4 à haut volume.tagl'interface. Le chemin parent du composant est /fx4/high_votlage .

4.6 Contrôleur de dose
Voir le manuel du programmateur IGX pour plus de détails sur l'interface du contrôleur de dose FX4. Le chemin parent du composant est /fx4/dose_controller .

FX4 Python Examples

5.1 Enregistreur de données utilisant HTTP
Cet example montre comment capturer un certain nombre de lectures et les enregistrer dans un fichier CSV fileEn choisissant un délai long entre les lectures, vous pouvez effectuer un enregistrement de données à long terme même si le FX4 sampLa fréquence d'acquisition est plus élevée. Cela vous permet de collecter et de stocker des mesures en continu sur de longues périodes sans surcharger le système, garantissant ainsi une capture des données à des intervalles adaptés à votre analyse. Le délai entre les relevés permet de réguler la cadence d'enregistrement des données, ce qui permet un stockage efficace et réduit le risque de points de données manquants, tout en bénéficiant d'une vitesse de transmission élevée.ampling pour des mesures en temps réel.

Programmateur PYRAMID FX4 - Enregistreur de données utilisant HTTPProgrammateur PYRAMID FX4 - Enregistreur de données utilisant HTTP 2Programmateur PYRAMID FX4 - Enregistreur de données utilisant HTTP 3Programmateur PYRAMID FX4 - Enregistreur de données utilisant HTTP 4

5.2 Interface graphique Python simple
Le deuxième exampLe FX4 utilise l'interface graphique Tkinter, conçue pour Python, pour afficher les courants mesurés. Cette interface permet de visualiser les mesures de courant dans un format graphique convivial. L'affichage peut être redimensionné pour être lisible de l'autre côté d'une pièce, ce qui le rend idéal pour les scénarios nécessitant une surveillance en temps réel dans des espaces plus vastes. Tkinter permet de créer facilement des interfaces interactives et, en l'intégrant au FXXNUMX, vous pouvez rapidement créer un affichage visuel des courants mesurés, personnalisable selon vos besoins.

Programmeur PYRAMID FX4 - Interface graphique Python simpleProgrammeur PYRAMID FX4 - Interface graphique Python simple 2Programmeur PYRAMID FX4 - Interface graphique Python simple 3Programmeur PYRAMID FX4 - Interface graphique Python simple 4Programmeur PYRAMID FX4 - Interface graphique Python simple 5Programmeur PYRAMID FX4 - Interface graphique Python simple 6Programmeur PYRAMID FX4 - Interface graphique Python simple 7

5.3 Simple WebPrises Example
Cet example démontre WebInterface de sockets, qui est la méthode préférée pour lire les données du FX4 lorsqu'une bande passante maximale est requise. WebLes sockets fournissent un canal de communication en temps réel et en duplex intégral, permettant un transfert de données plus rapide et plus efficace par rapport aux autres méthodes.
L'example lit une série de samples, indique le temps moyen par sample et la latence maximale, et enregistre les données dans un fichier CSV file pour une analyse ultérieure. Cette configuration permet une surveillance efficace en temps réel et un stockage aisé des données pour le post-traitement.
Les performances spécifiques qui peuvent être atteintes avec WebLe nombre de sockets dépend de la fiabilité de votre interface Ethernet et de la priorité relative de votre application. Pour des résultats optimaux, assurez-vous que votre réseau est stable et que la transmission de données du FX4 est prioritaire si nécessaire.

Programmateur PYRAMID FX4 - Simple WebPrises ExampleProgrammateur PYRAMID FX4 - Simple WebPrises Example 2Programmateur PYRAMID FX4 - Simple WebPrises Example 3

Version: v3
FX4 Python Examples: 21

Documents / Ressources

Programmeur PYRAMID FX4 [pdf] Manuel d'instructions
Programmeur FX4, FX4, Programmeur

Références

Laisser un commentaire

Votre adresse email ne sera pas publiée. Les champs obligatoires sont marqués *