www.pyramid.tech
FX4
Manuel du programmeur FX4
Identifiant du document : 2711715845
Version: v3
Programmeur FX4
Identifiant du document : 2711715845
FX4 – Manuel du programmeur FX4
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É |
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.
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.
1 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.
- Obtenez le nom de la variable de processus EPICS (PV) pour l'E/S souhaitée.
- Importez la bibliothèque EPICS et lisez la valeur.
2 Obtenir le nom du PV EPICS
3 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.
4 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.
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.
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.
Version: v3
FX4 Python Examples: 21
Documents / Ressources
![]() |
Programmeur PYRAMID FX4 [pdf] Manuel d'instructions Programmeur FX4, FX4, Programmeur |