FONCTIONNALITES

Les Objets KALLISTE :


Les Contrôles


Les Atomes


Les Drivers


User Defined Objects


Software Development kit

 

Les Objets KALLISTE


Kallisté est fourni avec plus de 65 objets pour vous permettre de développer vos applications.
Ces objets sont répartis en 3 grandes catégories de ressources :

  • Les contrôles, qui possèdent une interface opérateur.

  • Les atomes, ayant des propriétés, des verbes, des jobs, mais qui sont dénués d’interface opérateur. Ils permettent de mettre en œuvre toutes les opérations internes à votre application et qui sont faites en dehors de toutes actions de l’utilisateur.

  • Les drivers, qui permettent d’interfacer votre application avec des ressources externes telles que des instruments de mesure, des serveurs Ethernet, le logiciel MAGALI, les systèmes ADWIN, etc…
Il existe des situations où vous vous souhaitez aller plus loin, réutiliser des éléments que vous avez développé, ajouter de nouvelles fonctionnalités. En fonction du type d'utilisateur que vous êtes, nous mettons à votre disposition deux outils pour faire évoluer kallisté :

  • L’UDO, pour « User Defined Objects », qui vous permet de transformer vos affichages en objets réutilisables.

  • Le SDK (kit de développement logiciel) qui vous permet de créer les objets adaptés à votre métier.

 

Les Contrôles


2d Led Matrix

Permet d'afficher une grille avec des cellules colorées. La couleur des cellules change en fonction de la valeur qu'elle contient.

Adf

L'objet ADF (Automatic Direction Finder) donne la direction de la station NDB à l’aide d'une flèche.

Air speed

Le contrôle Air Speed indique la vitesse de l'appareil en vol. Une succession de couleurs (par défaut blanc, vert, jaune et rouge) fournit des indications au pilote.

Altimeter

L'objet Altimètre affiche l'altitude de l'avion.

Analog Led

L'objet Analog Led est un objet statique qui affiche une diode dont la couleur varie en fonction du contenu de sa propriété value. Cet objet est également capable de générer des jobs en fonction de la valeur de cette propriété lorsque des zones de couleur et de déclenchement sont définies.

Artificial horizon

L’horizon artificiel est un gyroscope à deux degrés de liberté qui permet de visualiser l’altitude de l’avion par rapport à ses axes de roulis et de tangage.

Axonometric Plot

Le contrôle Axonometric Plot permet de tracer des vues de surface en mode axonométrique

Bar Graph

L’objet Bar Graph permet à l’utilisateur d’afficher des séries de valeurs, sous forme de barres, dans un objet de type graphique.

Button

L'objet Button permet à l'opérateur de déclencher un job lors d'un clic sur l'objet dans un display. Ce contrôle est l'équivalent des boutons monostables standards. Il peut comporter un texte et une image. La couleur du texte peut changer lorsque le contrôle possède le focus du clavier. Dans ce cas, un appui sur la touche "Entrée" du clavier est équivalent à un clic de la souris sur le bouton, et déclenche son job.

Canvas

Le contrôle Canvas est un objet permettant d'ajouter aux displays des formes géométriques simples. C'est un contrôle statique qui ne répond à aucune sollicitation de la souris ou du clavier.

Chart(ft)

Le contrôle Chart f(t) représente des repères orthogonaux dans lesquels s’affichent des courbes. Ces courbes sont la représentation graphique de paramètres d’acquisition datés. L’axe des abscisses (t) évolue avec les dates des échantillons reçus. La valeur des échantillons est affichée sur l’axe des ordonnées (Y) du repère.

Check Box

L'objet Check Box fournit une case avec un texte. C'est un bouton qui peut être activé (coché) ou désactivé (décoché). Les cases à cocher sont généralement utilisées pour représenter des éléments, dans une application, qui peuvent être activés ou désactivés sans affecter les autres.

Combo Box

L'objet Combo Box est un bouton combiné avec une liste déroulante. Il fournit, à l'utilisateur, un moyen de représenter une liste d'options en occupant un minimum d'espace à l’écran. De plus, la Combo Box peut être éditable pour permettre à l'utilisateur de rajouter ses propres options

Comment

Le séquenceur Comment permet de rajouter une ligne de commentaire dans un job. Cette ligne de commentaire est purement informative et n'exécutera aucune action lors de l'exécution d'un job.

Contour plot

Ce contrôle est utilisé afin de visualiser le contenu de matrices sous forme de spectrogrammes avec ou sans contours. Il est souvent utilisé conjointement aux contrôles "WaterFall Plot" ou "Axonometric Plot".

Frame

Le contrôle Frame est un objet statique qui permet simplement d'encadrer d'autres objets dans un même cadre lorsque ces objets ont une connexion logique pour l'utilisateur de l'application.

Frame display

Permet d'afficher des trames de données dans une grille qu'il est possible de personnaliser à l'aide de couleurs au niveau d'une colonne, d'une ligne ou d' une simple cellule.

Grid

L'objet Grid est un objet qui permet d'afficher des données dans une grille. Il est possible de transmettre à l'objet Grid des matrices, des vecteurs ou des scalaires afin de mettre à jour en une opération, soit la totalité de la grille, soit une colonne, une ligne ou une simple cellule. De plus, elle permet la saisie de données.

Heading indicator

Le contrôle Heading Indicator permet de visualiser le cap suivi par un mobile. Le cap est indiqué par le nez de l’avion. Les indicateurs numériques donnent la valeur précise du cap.

Ideogram

Permet de représenter et d'animer des schémas (électriques, electroniques, hydrauliques) ou des éléments de schémas à partir d'un ensemble d'images représentant les états possible du schema (ou de l'élément du schema).

Image

Le contrôle Image permet d'afficher des images aux formats png, tiff, gif, jpeg et bmp.

Input Box

Le contrôle Input Box est un objet qui permet la saisie au clavier d'un texte par l'opérateur.

Knob

L'objet Knob permet à un opérateur de spécifier une valeur numérique au moyen d'un bouton tournant du style potentiomètre rotatif.

Label

Le Contrôle Label permet d'afficher un texte dans un display. Le contrôle "Label" n'affiche du texte que sur une seule ligne.

Led

Le contrôle Led est un objet statique qui affiche une diode dont la couleur varie en fonction du contenu de sa propriété "Value". Cet objet est également capable de générer un job lorsque la valeur de cette propriété change.

Linear Meter

L'objet Linear Meter est un objet statique qui affiche une valeur numérique scalaire sous la forme d'un bar graph linéaire dont la couleur peut varier en fonction du contenu de sa propriété "Value". Cet objet est également capable de générer des jobs en fonction de la valeur de cette propriété lorsque des zones de couleurs et de déclenchement sont définies. La figure suivante montre un objet Linear Meter.

List Box

L’objet List Box est une liste d’éléments qui permet à l'utilisateur de sélectionner un ou plusieurs éléments d'une liste statique. Les éléments peuvent être triés par ordre alphabétique. Un élément comprend un id et une chaîne de caractères.

Masked Input Box

Le contrôle Masked Input Box permet la saisie au clavier d'un texte formaté par un masque par l'opérateur.

Meter

L'objet Meter est un objet statique qui affiche une valeur numérique scalaire sous la forme d'un galvanomètre dont l'aiguille pointe sur la valeur contenue de sa propriété "Value". Cet objet est également capable de générer des jobs en fonction de la valeur de cette propriété, lorsque des zones de couleurs et de déclenchement sont définies.

Multiline Input Box

Le contrôle Multiline Input Box est un objet qui permet la saisie au clavier d’un texte sur plusieurs lignes par l’opérateur.

Multiline Label

Le Contrôle Multiline Label permet d’afficher un texte dans un display. Il peut afficher du texte sur plusieurs lignes.

Numeric Display

Le contrôle Numeric Display permet d'afficher un nombre dans un afficheur de type voltmètre numérique.

Numeric input box

Il s'agit d'un objet permettant la saisie au clavier d'un nombre par l'opérateur. Il dispose également de boutons pour incrementer la valeur.

Option box

L'objet Option Box est un objet qui permet de sélectionner plusieurs options parmi un choix.

Radar Plot

L'objet Radar Plot est un objet statique qui permet d'afficher des valeurs numériques sur un tracé de type Radar.

Rmi

Le RMI (Radio Magnetic Indicator) est un appareil combinant un compas gyroscopique, un ADF et un VOR.

Scrolling band

Le scrolling band est une règle déroulante qui peut être soit verticale soit horizontale. Elle peut également fonctionner à la manière d’une roue.

Selector

L'objet Selector est un objet qui permet d'effectuer un choix parmi plusieurs options.

Slider

L'objet Slider permet à un opérateur de spécifier une valeur numérique au moyen d'un bouton glissant.

Switch

Le contrôle Switch est un bouton bistable permettant d'indiquer l'état de marche ou d'arrêt d'un quelconque dispositif.

Tab

Permet d'afficher un onglet dans un "Tab Container". L'onglet est personnalisable et peut contenir des objets de Kalliste.

Tab container

Permet d'afficher un onglet dans un "Tab Container". L'onglet est personnalisable et peut contenir des objets de Kalliste.

Thermometer

Objet statique affichant la température sous la forme d'un tube. Cet objet est capable de générer des jobs en fonction de la valeur de la propriété "value", lorsque des zones de couleurs et de déclenchement sont définies.

Vertical speed

Permet d'afficher la vitesse verticale d'un mobile (changements d'altitude). Cette vitesse est indiquée par l'aiguille.

Water Fall Plot

Permet de tracer une courbe issue d’une même acquisition à divers moment en empilant tous ces tracés sur un seul contrôle. Cela permet donc de connaître l’évolution d’un signal dans le temps en gardant sa trace.

Xygraph

Permet de tracer des courbes dans un repère orthonormé. Le contrôle est capable de tracer jusqu'à 32 courbes dans un seul repère, avec de 1 à 4 axes Y, avec un axe X en données ou en temps pour les courbes f(t). Les techniques de tracé permettent de simuler un traceur papier, un graphique à défilement, un oscilloscope, etc... Le contrôle est également capable de gérer les courbes comme des vecteurs de points et peut donc être également utilisé comme un réceptacle pour des données. Enfin, le contrôle "XY Graph" permet de mener des opérations de zoom ou de positionnement de curseurs permettant d'extraire des parties de courbes de manière interactive.

Xy add graph

Ce contrôle est un sous ensembles du contrôle XY Graph. Il possède donc moins de verbes ou de propriétés et est donc plus simples à utiliser pour les cas restreints ou il n'est pas nécessaire sur un seul objet graphique de mixer toutes les possibilités du contrôle XY Graph. Chaque verbe, propriété ou job est documenté de manière à préciser à quels contrôles il s'applique.

Xy strip graph

Ce contrôle est un sous ensembles du contrôle XY Graph. Il possède donc moins de verbes ou de propriétés et est donc plus simples à utiliser pour les cas restreints ou il n'est pas nécessaire sur un seul objet graphique de mixer toutes les possibilités du contrôle XY Graph. Chaque verbe, propriété ou job est documenté de manière à préciser à quels contrôles il s'applique.

 

Les Atomes


Bytes Manager

L'atome Bytes Manager permet de convertir des données d’un tableau d’octets.

Critical Section

L'objet Critical Section permet de poser des verrous dans l'exécution des jobs de Kallisté. Deux jobs qui utilisent le même objet Critical Section ne pourront jamais être exécutés simultanément. Un job tente d'acquérir un verrou en appelant le verbe Lock. Si le verrou a déjà été acquis par un autre job, le job est bloqué jusqu'à ce que le verrou soit débloqué par l'appel au verbe Unlock.

Constant

L'objet Constants définit un ensemble de constantes physique. Il permet égalment de de définir des valeurs constantes scalaires personnalisées.

CSV

L’atome CSV permet de lire / écrire des fichiers au format CSV.

Data Converter

L’objet Data Converter permet de convertir une valeur d’un type donnée en un autre type.

Error Handler

Le séquenceur Error Handler permet de traiter les erreurs d'exécution par le programme, avant qu'elles ne soient traitées par le moteur interne de Kallisté. Le principe de traitement des erreurs est le suivant. Lorsqu'une erreur d'exécution survient, le système capte cette erreur. Il vérifie si cette erreur doit être traitée par un séquenceur Error Handle, si c'est le cas, le job On Error est alors déclenché. Ainsi, le programme est capable de traiter et de récupérer les erreurs de lui même. Si ce n'est pas le cas, le système proposera une fenêtre de dialogue standard annonçant l'erreur et demandant à l'opérateur ce qu'il souhaite faire, à savoir : continuer l'exécution normalement, abandonner le job en cours dans lequel cette erreur est survenue, soit mettre fin à l'application.

Excel Link

L'objet Excel Link permet de manipuler les fichiers Excel depuis Kallisté. Il faut disposer sur le pc de Excel 2003 ou d'une version supérieure pour exécuter l’application. L'objet Excel Link peut créer un fichier Excel, créer une feuille, lire ou écrire dans un fichier Excel.

External Call

L’atome External Call permet à l'utilisateur d'appeler une fonction en C exportée par une bibliothèque. Les fichiers pris en compte sont les dll (*.dll) sous Windows et les so (*.so) sous Linux.

File

L’atome File permet de lire/écrire des fichiers.

File Utilities

L’atome File Utilities permet de manipuler les fichiers/répertoires d’un disque dur depuis Kallisté. Il peut aussi bien ouvrir une boîte de dialogue pour sélectionner un fichier que faire une copie d’un fichier.

Function Generator

L'atome Function Generator permet de générer des signaux de divers types sous la forme de vecteurs de nombres. Le type de signal généré est déterminé par le verbe utilisé. A titre d'exemple, pour générer un signal carré, il faut utiliser le verbe "Generate Square". Par défaut le signal généré possède une dynamique verticale avec une amplitude de +- 1, aucun offset et déphasage. Il est possible de modifier la dynamique verticale, l'offset vertical et le déphasage en modifiant le contenu des propriétés relatives à chacun de ces paramètres.

INI File

L’atome INI File permet de lire et modifier des fichiers de type INI (*.ini). Ces fichiers sont composés de sections, reconnaissables par leur nom entre crochet (ex : [Kalliste]), possédant un à plusieurs paramètres suivis de leur valeur (ex : Projet=INIFile)

Keyboard Shortcut

L'atome Keyboard Shortcut déclenche un job lorsqu'une combinaison de touches est appliquée sur le clavier.

Math

L’atome Math permet d'effectuer des traitements mathématiques sur des données scalaires, des tableaux, des matrices ou des listes de valeurs.

Message Box

L’atome Message Box est une fenêtre de dialogue qui permet d’informer ou de questionner l’utilisateur.

Performance Monitor

L’atome Performance Monitor permet de connaître l’état courant de l’ordinateur sur lequel est utilisée une application Kallisté qui utilise cet atome. Il permet de se renseigner sur les valeurs courantes d’occupation des processeurs, des disques, des réseaux etc…

String

L’atome String permet la manipulation de chaînes de caractères.

Stuff

L'atome Stuff représente la notion de variable dans l'environnement Kallisté. Il est possible, via ses verbes, de lui affecter tout type de donnée géré par Kallisté. La propriété "Value" permet d’en récupérer le contenu. En plus de cette notion de variable, utile dans tout programme informatique pour retenir des données transitoires, l'atome Stuff offre des services complémentaires pour gérer les constantes, les scalaires, les vecteurs et les matrices de vos projets. C'est également un atome très utile pour Sauvegarder/Restaurer des données d’un fichier, pour les utiliser dans d’autres session d'exécution de votre application.

Le principe général d'utilisation est donc de placer des données dans l'atome Stuff au moyen d'un de ses verbes (ou de manipuler les données) puis de récupérer le contenu courant de l'atome via sa seule propriété "Value" ou via le retour de certains de ses verbes qui ne modifient pas tous le contenu de l’atome Stuff.

Timer

L'atome Timer permet de déclencher une action à un intervalle programmable. Attention, il s'agit d'un Timer logiciel dont la précision ne doit pas être prise comme référence pour des acquisitions ou des actions de contrôle commande demandant une précision importante et une priorité système élevée. Ce Timer n'est pas déterministe. L'atome Timer est également utilisable pour obtenir la date et l'heure courante.

User Job

L'atome "User Job" permet de définir des fonctions exécutées par un Job. Ce concept est équivalent à celui de routines dans les langages de programmation classique. L'appel d'un des verbes de cet atome déclenche le job de cet atome. Cela implique que le code inséré dans ce job sera exécuté à chaque appel de ses verbes.

Word Link

L’objet "Word Link" permet de manipuler les fichiers Word depuis Kalliste. Il faut disposer de Word 2003 ou d'une version supérieure pour exécuter l’application. L’objet "Word Link" peut créer un fichier Word (.doc, .docx), lire ou écrire dans un fichier Word à la fin ou bien à partir d’un signet

 

Les Drivers


Adwin

Le driver ADWIN permet d'interfacer une application Kallisté avec un système ADWIN. Pour être opérationnel, il est nécessaire à un utilisateur d'installer au préalable les pilotes et logiciels fournis avec le système ADWIN. Le driver Kallisté pour les systèmes ADWIN s'appuie exclusivement sur les interfaces fournies avec le système ADWIN. Il supporte donc tous les systèmes ADWIN sans distinctions. Pour utiliser un système ADWIN, un utilisateur devra développer les process temps réel sous environnement ADBASIC, puis son interface opérateur sous Kallisté. Les process temps réel et l'application Kallisté étant interfacés via ce driver. Le driver ADWIN supporte la notion de propriétés dynamiques qui permet de créer des propriétés qui sont directement reliées aux données PAR, FPAR et DATA telles qu’elles sont définies dans le langage ADBASIC.

Arduino

Permet de communiquer avec l'arduino par liaison série.

Demo Driver

L'objet Demo Driver simule une source d'acquisition de type télémesure ou carte d'acquisition. Il génère des données, ce qui permet de mettre au point une application sans accès à du matériel. L'objet Demo Driver est capable de simuler 5 voies d'acquisitions. Il génère des signaux aléatoires, sinusoïdaux, etc...

L'objet Demo Driver génère des données selon 3 modes différents : le mode point à point via le verbe Sample From qui retourne une valeur, le mode synchrone via le verbe Acquire From qui retourne un vecteur de points (lorsque la simulation d’une seule voie est demandée), ou une matrice de points (lorsque la simulation de plusieurs voies

est demandée) et enfin le mode asynchrone, qui fonctionne de manière équivalente au mode synchrone en ce qui concerne les données, mais qui génère celles-ci dans une tâche de fond. Quand des données sont disponibles, le job On Data Ready est déclenché. Le mode asynchrone est lancé via le verbe Start Acquisition, et arrêté via le verbe Stop Acquisition. Dans tous les cas, les données générées sont accessibles via la propriété Data.

Dmac

Permet de dialoguer et de commander l'ensemble des modules de la gamme DMAC et BMAC (Indexeur autocommuté et ampli micropas, axe motorisé autocommuté)

KEITHLEY Driver

Permet d'interfacer l'ensemble des cartes Keithley de serie E (KUSB - 3100E). Ce driver permet de visualiser des acquisitions et générations de signaux analogiques/numériques. Le pilotage et la configuration de la carte sont possible en utilisant directement ce driver.

LISA Driver

Le driver LISA permet l'acquisition de données issues du boîtier MACQ-862, que ce soit de manière directe depuis un port série au choix ou en rejeu à partir de fichiers de données. Afin de permettre d'effectuer des tests, un mode de génération de signal aléatoire est aussi proposé.

Magali

L’objet MAGALI permet de piloter une acquisition de données effectuée par le logiciel MAGALI. Il est principalement utilisé pour acquérir des données de flux de télémesure ou bus numériques comme l'ARINC-429, MIL-STD-1553, les bus CAN, etc ....

Modbus

Permet de communiquer avec des esclaves ModBus.

National Instruments

Permet d'interfacer l'ensemble des cartes National Instruments de type PCI/PCI-X/USB. Le but est de pouvoir visualiser les acquisitions et de commander les cartes selon leurs spécificités.

Network Client

Le driver Network Client permet de se connecter à serveur en mode TCP ou UDP. Il peut être utilisé avec le Driver Network server.

Network Server

Le driver Network Server permet de créer un serveur en mode TCP ou UDP. Il peut être utilisé avec le Driver "Network client".

Printer

Le pilote Printer permet d'imprimer des displays et des contrôles. Il fournit l'interface avec les imprimantes du système. Il se charge de contrôler le travail d'impression.

Serial port

Permet de communiquer avec le port série (RS232).

Signal Generator

Il permet de simuler des données datées qui peuvent être affichées dans un contrôle Chart f(t) par exemple. Ce driver permet de définir des signaux standard (sinus, cosinus, rampes, etc.) en précisant une fréquence, un gain, un décalage à l'origine. Il est également possible de modifier la fréquence d'échantillonnage des signaux générés (le nombre d'échantillons par secondes).

Visa Driver

Le driver VISA est une implémentation de l'interface Virtual Instrument Software Architecture. C’est une Interface de programmation d'entrée/sortie utilisée dans le monde industriel de l'instrumentation afin de contrôler des appareils de mesure.

 

User Defined Objects


Dans Kallisté, tout affichage peut être converti en un nouvel objet que vous pourrez ensuite réutiliser dans d'autres Applications. L’assistant UDO de Kallisté fait cette tâche pour vous lorsque vous en avez besoin : sélectionnez l'affichage, lancez l'assistant.

A l’aide de ce dernier, vous pouvez définir des propriétés, des verbes, des Jobs pour votre nouvel objet. Il suffit ensuite de glisser votre nouvel objet dans la fenêtre des ressources. Il sera alors disponible pour n'importe quelle autre application. C'est la façon la plus facile de créer des drivers pour du matériel spécifique, des instruments et tout autre type d'appareils.

 

Software Development kit


Si vous êtes un concepteur de logiciels, un fournisseur de matériel, ou si vous avez des besoins très spécifiques, vous avez sans doute besoin d’une plus grande polyvalence. Vous souhaiterez ajouter de nouveaux objets, sans passer par l'assistant UDO, mais en ajoutant votre propre code natif dans Kallisté.

Cette fonctionnalité est disponible à travers le SDK. Kallisté publie toutes ses règles d'interfaces. Le SDK est livré avec un ensemble complet de classes C + + à partir de laquelle vous pouvez créer des connexions entre le moteur et Kallisté et votre propre code. Grâce à cet ensemble de classes, vous serez en mesure de créer des contrôles, des atomes, des drivers ayant des propriétés, des verbes, des jobs, des propriétés des pages, etc ... En fait, vous serez en mesure de créer de nouvelles classes d’objets Kallisté comme nous le faisons nous même.